diff --git a/.Rproj.user/5271889B/sources/per/t/1A4D3B2A-contents b/.Rproj.user/5271889B/sources/per/t/1A4D3B2A-contents
deleted file mode 100644
index 04f24b2..0000000
--- a/.Rproj.user/5271889B/sources/per/t/1A4D3B2A-contents
+++ /dev/null
@@ -1,52 +0,0 @@
-%brent's poster layout :)
-
-\documentclass[60pt,extrafontsizes]{memoir}
-
-%utf-8 seems to be important
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{palatino}
-\usepackage{multicol}
-\usepackage{graphicx}
-
-% this is for keeping figures within the coloumns ----
-\usepackage{nonfloat}
-
-\newcommand\myfigure[1]{%
-\medskip\noindent\begin{minipage}{\columnwidth}
-\centering%
-#1%
-%figure,caption, and label go here
-\end{minipage}\medskip}
-%-----------------------------------------------------
-
-
-%define poster size
-\usepackage[paperwidth=45in,paperheight=38in, text={7in,10in},centering, margin=1in]{geometry}
-
-%define column spacing
-\setlength\columnsep{1.5in}
-
-%begin the document
-\begin{document}
-
-
-% group which adds title author and other infor
-% Used instead of \maketitle for better spacing options
-\begingroup
-  \centering
-  \LARGE $title$\\[0.3in]
-  \footnotesize $author$\par
-\endgroup
-
-\vspace{1in}
-% end title section -------------------
-
-% Brgin body of poster
-\begin{multicols*}{3}
-\footnotesize{
-$body$
-}
-\end{multicols*}
-%end the poster
-\end{document}
diff --git a/.Rproj.user/5271889B/sources/per/t/E39F9FCD b/.Rproj.user/5271889B/sources/per/t/4BEA950C
similarity index 61%
rename from .Rproj.user/5271889B/sources/per/t/E39F9FCD
rename to .Rproj.user/5271889B/sources/per/t/4BEA950C
index 4c62ebe..6b6082a 100644
--- a/.Rproj.user/5271889B/sources/per/t/E39F9FCD
+++ b/.Rproj.user/5271889B/sources/per/t/4BEA950C
@@ -1,21 +1,21 @@
 {
     "collab_server" : "",
     "contents" : "",
-    "created" : 1543865115135.000,
+    "created" : 1543938938103.000,
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "2230989947",
-    "id" : "E39F9FCD",
-    "lastKnownWriteTime" : 1543867203,
-    "last_content_update" : 1543867203675,
+    "hash" : "3921923171",
+    "id" : "4BEA950C",
+    "lastKnownWriteTime" : 1543951100,
+    "last_content_update" : 1543951100223,
     "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
     "project_path" : "inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
     "properties" : {
-        "cursorPosition" : "51,370",
-        "scrollLine" : "41"
+        "cursorPosition" : "14,327",
+        "scrollLine" : "0"
     },
-    "relative_order" : 2,
+    "relative_order" : 1,
     "source_on_save" : false,
     "source_window" : "",
     "type" : "r_markdown"
diff --git a/.Rproj.user/5271889B/sources/per/t/4BEA950C-contents b/.Rproj.user/5271889B/sources/per/t/4BEA950C-contents
new file mode 100644
index 0000000..46719ab
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/4BEA950C-contents
@@ -0,0 +1,86 @@
+---
+title: 'Identifying relationships among catchment land cover characteristics, active layer properties and lake hydroecology in Old Crow Flats, Yukon, Canada'
+author: "Brent Thorne"
+date: 'December 2018'
+bibliography: MyLibrary
+output: posterdown::posterdown_memoir
+---
+
+```{r, include=FALSE}
+knitr::opts_chunk$set(echo = FALSE, results = 'asis', fig.height = 3, fig.width = 3, warning = FALSE, fig.align = 'center', message = FALSE, dev='cairo_pdf')
+```
+
+# Introduction
+
+Lorem ipsum dolor sit amet, [@holden_identifying_2012] 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. 
+
+# Study Site
+
+Here is a map made to show the study site using `ggplot2`, `ggspatial`, and `rgdal`. 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. 
+
+```{r, fig.width=5, fig.height=5, out.width="80%", fig.cap='This is a map of Canada, projected using the NAD 83 UTM Zone 7 Datum.'}
+library(ggplot2)
+library(ggspatial)
+library(ggthemes)
+library(sf)
+
+canada <- read_sf("data/Canada.geojson")
+
+
+ggplot() +
+  ggspatial::layer_spatial(canada, fill = "grey") +
+  coord_sf() +
+  theme_solarized() +
+  # theme(plot.margin = unit(c(0,0,0,0), "in")) +
+  NULL
+
+```
+
+
+# Objectives
+
+1. Here is my first obective.
+2. Here is my second objective.
+3. Finally, my third objectives.
+
+```{r, out.width='60%', fig.width=4, fig.height=3, fig.cap='This is a typical ggplot2 example using the iris dataset provided in R.'}
+library(ggplot2)
+library(ggthemes)
+
+ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
+  geom_point() +
+  theme_tufte() +
+  labs(x = "Sepal Length", y = "Sepeal Width") +
+  NULL
+
+```
+
+Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat nibh sed pulvinar. Neque ornare aenean euismod elementum. Vel fringilla est ullamcorper eget nulla. Sollicitudin aliquam ultrices sagittis orci a. Maecenas accumsan lacus vel facilisis volutpat est velit. Sed sed risus pretium quam vulputate dignissim. Convallis posuere morbi leo urna molestie. Cursus vitae congue mauris rhoncus. Vitae ultricies leo integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur adipiscing. Enim sit amet venenatis urna cursus eget nunc.
+
+# Methods
+
+Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae congue eu consequat ac felis donec et. Morbi tincidunt ornare massa eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa sapien faucibus et molestie. Neque egestas congue quisque egestas diam. Lectus quam id leo in vitae turpis massa. Sodales ut etiam sit amet. Posuere lorem ipsum dolor sit amet consectetur. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Amet commodo nulla facilisi nullam vehicula ipsum. Magna ac placerat vestibulum lectus mauris ultrices eros. Sodales ut eu sem integer vitae justo eget magna. Malesuada bibendum arcu vitae elementum.
+
+# Results
+
+Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum varius duis at consectetur lorem done.
+
+
+```{r, out.width='80%', fig.align='center', fig.cap='This is a messy graphic right now but I will clean it up in the future.'}
+
+knitr::include_graphics('Figures/figure2.pdf')
+
+```
+
+
+Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
+
+```{r, out.width='65%', fig.align='center', fig.height=5, fig.cap='Another figure showing how base R plots might look on this poster!'}
+par(mfrow=c(2,1), mar=c(0.2,0.2,0.2,0.2),mai=c(0.2,0.2,0.2,0.2))
+plot(rnorm(20))
+plot(cars)
+
+```
+
+More text now here Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
+
diff --git a/.Rproj.user/5271889B/sources/per/t/E39F9FCD-contents b/.Rproj.user/5271889B/sources/per/t/E39F9FCD-contents
deleted file mode 100644
index 089d903..0000000
--- a/.Rproj.user/5271889B/sources/per/t/E39F9FCD-contents
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: 'My Wonderfull title'
-author: "Brent Thorne"
-date: 'December 2018'
-output: posterdown::posterdown_memoir
-header-includes:
-- \usepackage{float}
-- \floatplacement{figure}{H}
----
-
-```{r, include=FALSE}
-knitr::opts_chunk$set(echo = FALSE, results = 'asis', warning = FALSE, message = FALSE, fig.height = 3, fig.width = 3, dev='cairo_pdf')
-```
-
-### Introduction
-
-Lorem ipsum dolor sit amet, 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. Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat nibh sed pulvinar. Neque ornare aenean euismod elementum. Vel fringilla est ullamcorper eget nulla. Sollicitudin aliquam ultrices sagittis orci a. Maecenas accumsan lacus vel facilisis volutpat est velit. Sed sed risus pretium quam vulputate dignissim. Convallis posuere morbi leo urna molestie. Cursus vitae congue mauris rhoncus. Vitae ultricies leo integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur adipiscing. Enim sit amet venenatis urna cursus eget nunc.
-
-```{r, out.width='80%', fig.align='center'}
-
-knitr::include_graphics('Figures/figure1_map.pdf')
-
-```
-
-### Objectives
-
-1. Here is my first obective.
-2. Here is my second objective.
-3. Finally, my third objective.
-
-
-### Methods
-
-Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae congue eu consequat ac felis donec et. Morbi tincidunt ornare massa eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa sapien faucibus et molestie. Neque egestas congue quisque egestas diam. Lectus quam id leo in vitae turpis massa. Sodales ut etiam sit amet. Posuere lorem ipsum dolor sit amet consectetur. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Amet commodo nulla facilisi nullam vehicula ipsum. Magna ac placerat vestibulum lectus mauris ultrices eros. Sodales ut eu sem integer vitae justo eget magna. Malesuada bibendum arcu vitae elementum.
-
-```
-plot(rnorm(10))
-
-```
-
-### Results
-
-Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum varius duis at consectetur lorem done.
-
-```{r, out.width='80%', fig.align='center'}
-
-knitr::include_graphics('Figures/figure2.pdf')
-
-```
-
-
-Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
-
-
-
-
diff --git a/.Rproj.user/5271889B/sources/per/t/1A4D3B2A b/.Rproj.user/5271889B/sources/per/t/F9B50F07
similarity index 61%
rename from .Rproj.user/5271889B/sources/per/t/1A4D3B2A
rename to .Rproj.user/5271889B/sources/per/t/F9B50F07
index 078ef55..e98088c 100644
--- a/.Rproj.user/5271889B/sources/per/t/1A4D3B2A
+++ b/.Rproj.user/5271889B/sources/per/t/F9B50F07
@@ -1,21 +1,21 @@
 {
     "collab_server" : "",
     "contents" : "",
-    "created" : 1543863267647.000,
+    "created" : 1543940602361.000,
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "1591250290",
-    "id" : "1A4D3B2A",
-    "lastKnownWriteTime" : 1543865645,
-    "last_content_update" : 1543865645732,
+    "hash" : "2250640312",
+    "id" : "F9B50F07",
+    "lastKnownWriteTime" : 1543953200,
+    "last_content_update" : 1543953200898,
     "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex",
     "project_path" : "inst/rmarkdown/templates/posterdown_memoir/resources/template.tex",
     "properties" : {
-        "cursorPosition" : "41,0",
-        "scrollLine" : "24"
+        "cursorPosition" : "61,13",
+        "scrollLine" : "46"
     },
-    "relative_order" : 1,
+    "relative_order" : 2,
     "source_on_save" : false,
     "source_window" : "",
     "type" : "tex"
diff --git a/.Rproj.user/5271889B/sources/per/t/F9B50F07-contents b/.Rproj.user/5271889B/sources/per/t/F9B50F07-contents
new file mode 100644
index 0000000..4d06a01
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/F9B50F07-contents
@@ -0,0 +1,115 @@
+%brent's poster layout :)
+
+\documentclass[article,30pt,extrafontsizes]{memoir}
+
+%utf-8 seems to be important
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{palatino}
+\usepackage{multicol}
+\usepackage{graphicx}
+\usepackage{blindtext,xcolor}
+\usepackage{framed}
+\usepackage{color}
+
+%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.1in}
+\captionnamefont{\small\sffamily\bfseries}
+\captiontitlefont{\small\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}}
+
+%-----------------------------------------------------
+
+%define poster size
+\usepackage[paperwidth=45in,paperheight=38in, text={7in,10in},centering]{geometry}
+
+\geometry{
+left=1in,
+right=0mm,
+top=0mm,
+bottom=1in,
+headheight=0mm,
+}
+
+\thispagestyle{empty}
+
+\usepackage[style=authoryear-comp,backend=biber]{biblatex}
+\renewcommand*{\bibfont}{\tiny}
+
+\bibliography{$bibliography$}
+
+\counterwithout{section}{chapter}
+\makechapterstyle{mydefault}{
+\addtocounter{secnumdepth}{2}
+\setsecheadstyle{\Large\color{red}\textbf}
+\setsubsecheadstyle{\itshape}
+\setsubsubsecheadstyle{\itshape}
+}
+
+\setlength\parindent{10mm}
+
+\chapterstyle{mydefault}
+
+\defbibheading{bibliography}[\bibname]{%
+\section*{#1}%
+\markboth{#1}{#1}}
+
+
+\AtBeginDocument{%
+  \renewcommand{\bibname}{References}
+}
+
+
+%define column spacing
+\setlength\columnsep{1.2in}
+
+%spacing after section head title
+\setaftersecskip{0.3in}
+\setbeforesecskip{0.5in}
+\setlength\textfloatsep{0.1in}
+\setlength\floatsep{0.1in}
+\setlength\intextsep{0.1in}
+\setlength{\parskip}{0pt}
+
+%for shading the top
+\definecolor{shadecolor}{gray}{0.9}
+
+
+%begin the document
+\begin{document}
+
+
+% group which adds title author and other infor
+% Used instead of \maketitle for better spacing options
+\begin{shaded}
+\begingroup
+  \centering
+  \huge\textbf{$title$}\\[0.3in]
+  \large $author$\par
+\endgroup
+\vspace{1.2in}
+% end title section -------------------
+  \end{shaded}
+% Brgin body of poster
+\begin{multicols*}{3}
+\small{\noindent
+$body$
+\printbibliography
+}
+\end{multicols*}
+
+%end the poster
+\end{document}
