diff --git a/.RData b/.RData
index 1859af8..b9ab955 100644
--- a/.RData
+++ b/.RData
Binary files differ
diff --git a/.Rhistory b/.Rhistory
index 913fc86..45c5595 100644
--- a/.Rhistory
+++ b/.Rhistory
@@ -8,10 +8,6 @@
 library(posterdown)
 library(posterdown)
 library(posterdown)
-library(posterdown)
-library(posterdown)
-library(posterdown)
-library(posterdown)
 install.packages("citr")
 citr:::insert_citation()
 citr:::insert_citation()
@@ -510,3 +506,7 @@
 library(posterdown)
 library(posterdown)
 library(posterdown)
+install.packages("roxygen2")
+roxygen2::roxygenise()
+library(posterdown)
+roxygen2::roxygenise()
diff --git a/.Rproj.user/5271889B/pcs/source-pane.pper b/.Rproj.user/5271889B/pcs/source-pane.pper
index 1743e40..9efb51b 100644
--- a/.Rproj.user/5271889B/pcs/source-pane.pper
+++ b/.Rproj.user/5271889B/pcs/source-pane.pper
@@ -1,3 +1,3 @@
 {
-    "activeTab" : 0
+    "activeTab" : -1
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/pcs/windowlayoutstate.pper b/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
index 39209c8..dd78fba 100644
--- a/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
+++ b/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
@@ -2,7 +2,7 @@
     "left" : {
         "panelheight" : 778,
         "splitterpos" : 323,
-        "topwindowstate" : "NORMAL",
+        "topwindowstate" : "HIDE",
         "windowheight" : 816
     },
     "right" : {
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/1ED1315-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/1ED1315-contents
deleted file mode 100644
index e91a6a4..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/1ED1315-contents
+++ /dev/null
@@ -1,18 +0,0 @@
-language: r
-cache:
-  packages: true
-  directories:
-    - $HOME/.TinyTeX
-latex: false
-
-env:
-  global:
-    - _R_CHECK_TESTS_NLINES_=0 PATH=$HOME/bin:$PATH
-
-addons:
-  apt:
-    packages:
-    - ghostscript
-
-before_install:
-  - wget -qO- https://github.com/yihui/tinytex/raw/master/tools/download-travis-linux.sh | sh
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/623B11B8-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/623B11B8-contents
deleted file mode 100644
index 0322602..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/623B11B8-contents
+++ /dev/null
@@ -1,14 +0,0 @@
-Package: posterdown
-Title: Generates PDF conference posters using R Markdown.
-Version: 0.1.0
-Author: Brent Thorne
-Description: Posterdown expands on RMarkdown to generate PDF conference posters.
-Maintainer: Brent Thorne <brent.thorne18@gmail.com>
-License: MIT + file LICENSE
-Encoding: UTF-8
-LazyData: true
-URL: https://github.com/brentthorne/posterdown
-BugReports: https://github.com/brentthorne/posterdown/issues
-Imports: utils, rmarkdown, knitr, yaml, tinytex, xfun, ggplot2, rticles, kableExtra, Cairo, ggthemes, ggspatial 
-SystemRequirements: GNU make
-RoxygenNote: 6.1.1
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/76D8725-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/76D8725-contents
deleted file mode 100644
index 07115ef..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/76D8725-contents
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: 'Using \color{Red} `posterdown` \color{White} to generate reproducible conference posters via RMarkdown > Knitr > Markdown > Pandoc > Latex > PDF workflow as well as long titles...'
-author: "Brent Thorne"
-bibliography: MyLibrary
-output: posterdown::posterdown_memoir
----
-
-```{r, include=FALSE}
-knitr::opts_chunk$set(echo = FALSE, results = 'asis',fig.height = 3.5, fig.width = 4.5, out.width = "100%", warning = FALSE, fig.align = 'center', message = FALSE, dev='cairo_pdf')
-```
-
-# Introduction
-
-Welcome to `posterdown` ! This is my attempt to provide a semi-smooth workflow for those who wish to take their `RMarkdown` skills to the conference world. Many creature comforts frim `RMarkdown` are available in this package such as `Markdown` section notation, figure captioning, and even citations like this one [@holden_identifying_2012] The rest of this example poster will show how you can insert typical conference poster features into your own document. 
-
-# Study Site
-
-Here is a map made to show the study site using `ggplot2`, `ggspatial`, and `sf`. Lorem ipsum dolor sit amet, [@middleton_geological_nodate] consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Mauris vitae ultricies leo integer malesuada nunc vel risus commodo. Suspendisse potenti nullam ac tortor vitae. Enim nunc faucibus a pellentesque sit amet porttitor eget.  \vspace{15mm}
-
-```{r, fig.width=4.5, out.width="80%", fig.cap='This is a map of Canada, the ggspatial package is great for GIS folks in R!', cache=TRUE}
-library(ggplot2)
-library(ggspatial)
-library(ggthemes)
-library(sf)
-
-canada <- read_sf("data/Canada.geojson")
-
-
-ggplot() +
-  ggspatial::layer_spatial(canada, fill = "grey") +
-  ggspatial::annotation_north_arrow(location = "br", which_north = "true", style = north_arrow_nautical()) +
-  coord_sf() +
-  theme_solarized() +
-  NULL
-
-```
-
-
-# Objectives
-
-\large
-
-1. Easy to use reproducible poster design. 
-2. Integration with `RMarkdown`.
-3. Easy transition from `posterndown` to `thesisdown` or `rticles`
-
-\small
-
-# Methods
-
-This package uses the same workflow approach as the `RMarkdown` you know and love. Basically it goes from RMarkdown > Knitr > Markdown > Pandoc > Latex > PDF
-
-# Results
-
-```{r}
-library(kableExtra)
-library(ggplot2)
-
-data("iris")
-
-kable(iris[1:4,],align = "c", caption = "Tables are a breeze with Kable and Kable extra package!", booktabs = T) %>% 
-  kable_styling(latex_options = "striped")
-
-```
-
-\vspace{1in}
-
-```{r, out.width='75%', fig.width=4, fig.height=3, fig.cap='A typical plot using ggplot using the classic iris dataset.'}
-
-library(ggplot2)
-library(ggthemes)
-
-ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
-  geom_point() +
-  theme_fivethirtyeight() +
-  labs(x = "Sepal Length", y = "Sepeal Width") +
-  NULL
-
-```
-
-\vspace{1in}
-
-```{r, out.width='85%', fig.width=4.5, fig.height=4, fig.cap='Another typical plot using ggplot, this time with a different theme and r code chunk options for fig.width and fig.height.'}
-
-library(ggplot2)
-library(ggthemes)
-
-ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
-  geom_point() +
-  theme_hc() +
-  labs(x = "Sepal Length", y = "Sepeal Width") +
-  NULL
-
-```
-
-\vspace{1in}
-
-```{r, out.width='80%', fig.width=4.5, fig.align='center', echo=TRUE, fig.height=5, fig.cap='Another figure showing how base R plots might look on this poster!'}
-
-# Here is some code for people
-# to look at and be in awe of!!!!
-library(ggplot2)
-library(ggthemes)
-
-ggplot(data=iris,
-       aes(x = Sepal.Width,
-           y = Sepal.Length,
-           colour = Species)) +
-  geom_point() +
-  theme_stata() +
-  NULL
-
-```
-
-
-# Next Steps
-
-There is still **A LOT** of work to do on this package which include (but are note limited to): 
-
-- Better softcoding for front end user options in YAML such as `posterwidth: 45in`.
-- Images in the title section for logo placement which is a common attribut to posters as far as I have come to know.
-- Figure out compatiability with `natbib` which wasn't working during the initial set up.
-- MUCH BETTER PACKAGE DOCUMENTATION. For example, there is nothing in the README...
-- Include References section only if initiated by the user like in RMarkdown.
-
-\small
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/90E44B40-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/90E44B40-contents
deleted file mode 100644
index c2ebc68..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/90E44B40-contents
+++ /dev/null
@@ -1,4 +0,0 @@
-name: Posterdown Memoir L38 X W45 PDF
-description: >
- Template for creating R Markdown based PDF via Latex and Memoir
-create_dir: true
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/950DD430-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/950DD430-contents
deleted file mode 100644
index 9f6c8ae..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/950DD430-contents
+++ /dev/null
@@ -1,173 +0,0 @@
-%brent's poster layout :)
-
-\documentclass[article,30pt,extrafontsizes]{memoir}
-
-%utf-8 seems to be important
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{multicol}
-\usepackage{graphicx}
-\usepackage{blindtext}
-\usepackage[svgnames,table]{xcolor}
-\usepackage[framemethod=tikz]{mdframed}
-\usepackage{color}
-\usepackage{geometry}
-\usepackage{adjmulticol}
-
-%For kable extra package :)
-\usepackage{booktabs}
-\usepackage{longtable}
-\usepackage{array}
-\usepackage{multirow}
-\usepackage{wrapfig}
-\usepackage{float}
-\usepackage{colortbl}
-\usepackage{pdflscape}
-\usepackage{tabu}
-\usepackage{threeparttable}
-\usepackage{threeparttablex}
-\usepackage[normalem]{ulem}
-\usepackage{makecell}
-
-\usepackage{hyperref}
-\hypersetup{
-    colorlinks=true,
-    linkcolor=blue,
-    citecolor=red,
-    filecolor=magenta,
-    urlcolor=cyan,
-}
-
-
-%For figure and table placement
-\usepackage{float}
-\floatplacement{figure}{H}
-\floatplacement{table}{H}
-
-%spacing between figure/ table and caption
-\setlength{\abovecaptionskip}{0.4in}
-\setlength{\belowcaptionskip}{0.2in}
-\captionnamefont{\footnotesize\sffamily\bfseries}
-\captiontitlefont{\footnotesize\sffamily}
-
-%define column options
-\setlength{\columnseprule}{1pt}
-\def\columnseprulecolor{\color{red}}
-\setsubsubsecheadstyle{\small\color{red}\textbf}% Set \section style
-\setsecheadstyle{\small\color{red}}
-\setsecnumformat{}
-\def\sectionmark#1{\markboth{#1}{#1}}
-
-%-----------------------------------------------------
-
-\thispagestyle{empty}
-\definecolor{light-gray}{gray}{0.9}
-
-%biblatex options
-\usepackage[sorting=none,backend=biber]{biblatex}
-\renewcommand*{\bibfont}{\tiny}
-\bibliography{$bibliography$}
-\defbibheading{bibliography}[\bibname]{%
-\section*{#1}%
-\markboth{#1}{#1}}
-\AtBeginDocument{%
-  \renewcommand{\bibname}{References}
-}
-
-%bring in the users information
-\author{$author$}
-\title{$title$}
-\counterwithout{section}{chapter}
-\makechapterstyle{mydefault}{
-\addtocounter{secnumdepth}{2}
-\setsecheadstyle{\Large\color{red}\textbf}
-\setsubsecheadstyle{\itshape}
-\setsubsubsecheadstyle{\itshape}
-}
-
-\chapterstyle{mydefault}
-
-%define column spacing
-\setlength\columnsep{1in}
-
-\setlength\parindent{1em}
-\setlength\parskip{1em}
-\setlength\hangparas{0}
-
-%spacing after section head title
-\setaftersecskip{0.3in}
-\setbeforesecskip{1in}
-\setlength\textfloatsep{0.3in}
-\setlength\floatsep{0.3in}
-\setlength\intextsep{0.3in}
-
-\setstocksize{38in}{45in}
-\settrimmedsize{\stockheight}{\stockwidth}{*}
-\settypeblocksize{38in}{45in}{*}
-\setlrmargins{*}{*}{1}
-\setulmarginsandblock{2.5cm}{*}{*}
-\setmarginnotes{0em}{0cm}{0cm}
-\setlength{\footskip}{0cm}
-\setlength{\footnotesep}{0cm}
-\setlength{\headheight}{0pt}
-\setlength{\headsep}{0pt}
-\setlength{\trimtop}{0pt}
-\setlength{\trimedge}{0pt}
-\setlength{\uppermargin}{0pt}
-\checkandfixthelayout
-
-\definecolor{myframecolour}{HTML}{00004d}
-
-\mdfdefinestyle{brentsmdfstyle}{%
-  backgroundcolor=myframecolour,
-  linecolor=Red,
-  topline=false,
-  leftline=false,
-  rightline=false,
-  linewidth=2mm,
-  settings={\definecolor{linkcolor}{RGB}{255,255,255}}}
-
-%Footnote to white
-\usepackage{footmisc}
-\def\footnotelayout{\centering\color{white}}
-
-% see https://stackoverflow.com/a/47122900
-$if(highlighting-macros)$
-$highlighting-macros$
-$endif$
-
-\usepackage{palatino}
-\renewcommand*\familydefault{\sfdefault}
-
-%begin the document
-\begin{document}
-
-\begin{mdframed}[style=brentsmdfstyle]
-%sets footnote to be white hoprefully
-\renewcommand\footnoterule{}
-\renewcommand{\thempfootnote}{\footnotesize\color{red}{\arabic{mpfootnote}}}
-
-% group which adds title author and other infor
-% Used instead of \maketitle for better spacing options
-\begingroup
-  \centering
-  \color{White}
-\vspace{0.5in}
-  \Huge{\textbf{$title$}} \\[0.3in]
-  \color{cyan} \Large{\textbf{$author$}} \par
-  \vspace{0.2in}
-
-% end title section -------------------
-  \endgroup
-\end{mdframed}
-
-% Brgin body of poster
-\begin{adjmulticols*}{4}{10mm}{10mm}
-\small{
-\color{black}
-$body$
-\printbibliography
-}
-\end{adjmulticols*}
-%end the poster
-\end{document}
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/E984FFD8-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/E984FFD8-contents
deleted file mode 100644
index 448b9ce..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/E984FFD8-contents
+++ /dev/null
@@ -1,8 +0,0 @@
-# Generated by roxygen2: do not edit by hand
-
-export(posterdown_pdf)
-import(devtools)
-import(dplyr)
-import(ggplot2)
-import(knitr)
-import(rmarkdown)
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/lock_file b/.Rproj.user/5271889B/sources/s-49FF7C21/lock_file
deleted file mode 100644
index e69de29..0000000
--- a/.Rproj.user/5271889B/sources/s-49FF7C21/lock_file
+++ /dev/null
