diff --git a/.Rproj.user/441ADA46/sources/prop/5A12846A b/.Rproj.user/441ADA46/sources/prop/5A12846A
new file mode 100644
index 0000000..7a73a41
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/prop/5A12846A
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/69C6113C b/.Rproj.user/441ADA46/sources/prop/69C6113C
new file mode 100644
index 0000000..15b3caa
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/prop/69C6113C
@@ -0,0 +1,4 @@
+{
+    "cursorPosition" : "78,62",
+    "scrollLine" : "43"
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/7449E372 b/.Rproj.user/441ADA46/sources/prop/7449E372
new file mode 100644
index 0000000..52253b7
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/prop/7449E372
@@ -0,0 +1,4 @@
+{
+    "cursorPosition" : "11,14",
+    "scrollLine" : "0"
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/D3D80052 b/.Rproj.user/441ADA46/sources/prop/D3D80052
new file mode 100644
index 0000000..62566ca
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/prop/D3D80052
@@ -0,0 +1,4 @@
+{
+    "cursorPosition" : "11,0",
+    "scrollLine" : "0"
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/INDEX b/.Rproj.user/441ADA46/sources/prop/INDEX
new file mode 100644
index 0000000..ec06958
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/prop/INDEX
@@ -0,0 +1,4 @@
+~%2FDocuments%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_generic%2Fresources%2Ftemplate.tex="69C6113C"
+~%2FDocuments%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_generic%2Fskeleton%2Fskeleton.Rmd="7449E372"
+~%2FTemplates%2FUntitled%2FUntitled.Rmd="5A12846A"
+~%2FUntitled%2FUntitled.Rmd="D3D80052"
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/3911D465 b/.Rproj.user/441ADA46/sources/s-956CB4DB/3911D465
new file mode 100644
index 0000000..6e23e34
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/3911D465
@@ -0,0 +1,22 @@
+{
+    "collab_server" : "",
+    "contents" : "",
+    "created" : 1543628656364.000,
+    "dirty" : false,
+    "encoding" : "UTF-8",
+    "folds" : "",
+    "hash" : "0",
+    "id" : "3911D465",
+    "lastKnownWriteTime" : 1543624307,
+    "last_content_update" : 1543624307,
+    "path" : "~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_generic/skeleton/skeleton.Rmd",
+    "project_path" : "inst/rmarkdown/templates/posterdown_generic/skeleton/skeleton.Rmd",
+    "properties" : {
+        "cursorPosition" : "11,14",
+        "scrollLine" : "0"
+    },
+    "relative_order" : 2,
+    "source_on_save" : false,
+    "source_window" : "",
+    "type" : "r_markdown"
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/3911D465-contents b/.Rproj.user/441ADA46/sources/s-956CB4DB/3911D465-contents
new file mode 100644
index 0000000..07b62af
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/3911D465-contents
@@ -0,0 +1,14 @@
+---
+#
+# Required information -------------------
+#
+title: 'My Wonderfull title'
+author: 'John Doe Jr.'
+institute: "Brocku U"
+date: 'November 30 2018'
+output: posterdown::posterdown_generic
+---
+
+# Introduction
+
+Here is some text
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/7C5056A8-contents b/.Rproj.user/441ADA46/sources/s-956CB4DB/7C5056A8-contents
new file mode 100644
index 0000000..07b62af
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/7C5056A8-contents
@@ -0,0 +1,14 @@
+---
+#
+# Required information -------------------
+#
+title: 'My Wonderfull title'
+author: 'John Doe Jr.'
+institute: "Brocku U"
+date: 'November 30 2018'
+output: posterdown::posterdown_generic
+---
+
+# Introduction
+
+Here is some text
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/9FCFB057-contents b/.Rproj.user/441ADA46/sources/s-956CB4DB/9FCFB057-contents
new file mode 100644
index 0000000..07b62af
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/9FCFB057-contents
@@ -0,0 +1,14 @@
+---
+#
+# Required information -------------------
+#
+title: 'My Wonderfull title'
+author: 'John Doe Jr.'
+institute: "Brocku U"
+date: 'November 30 2018'
+output: posterdown::posterdown_generic
+---
+
+# Introduction
+
+Here is some text
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/A5E47C6D-contents b/.Rproj.user/441ADA46/sources/s-956CB4DB/A5E47C6D-contents
new file mode 100644
index 0000000..b29592f
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/A5E47C6D-contents
@@ -0,0 +1,12 @@
+---
+#
+# Required information -------------------
+#
+title: 'My Wonderfull title'
+author: 'John Doe Jr.'
+institute: "Brocku U"
+date: 'November 30 2018'
+output: posterdown::posterdown_generic
+---
+
+
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/DF512726-contents b/.Rproj.user/441ADA46/sources/s-956CB4DB/DF512726-contents
new file mode 100644
index 0000000..358e50d
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/DF512726-contents
@@ -0,0 +1,13 @@
+---
+#
+# Required information -------------------
+#
+title: 'My Wonderfull title'
+author: 'John Doe Jr.'
+date: 'November 30 2018'
+output: posterdown::posterdown_generic
+---
+
+# Introduction
+
+Here is some text
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/FE7C19CD b/.Rproj.user/441ADA46/sources/s-956CB4DB/FE7C19CD
new file mode 100644
index 0000000..a02c2cc
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/FE7C19CD
@@ -0,0 +1,22 @@
+{
+    "collab_server" : "",
+    "contents" : "",
+    "created" : 1543624246245.000,
+    "dirty" : false,
+    "encoding" : "UTF-8",
+    "folds" : "",
+    "hash" : "0",
+    "id" : "FE7C19CD",
+    "lastKnownWriteTime" : 1543628709,
+    "last_content_update" : 1543628709885,
+    "path" : "~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_generic/resources/template.tex",
+    "project_path" : "inst/rmarkdown/templates/posterdown_generic/resources/template.tex",
+    "properties" : {
+        "cursorPosition" : "78,62",
+        "scrollLine" : "43"
+    },
+    "relative_order" : 2,
+    "source_on_save" : false,
+    "source_window" : "",
+    "type" : "tex"
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/FE7C19CD-contents b/.Rproj.user/441ADA46/sources/s-956CB4DB/FE7C19CD-contents
new file mode 100644
index 0000000..dc8e554
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/FE7C19CD-contents
@@ -0,0 +1,356 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Jacobs Landscape Poster
+% LaTeX Template
+% Version 1.1 (14/06/14)
+%
+% Created by:
+% Computational Physics and Biophysics Group, Jacobs University
+% https://teamwork.jacobs-university.de:8443/confluence/display/CoPandBiG/LaTeX+Poster
+%
+% Further modified by:
+% Nathaniel Johnston (nathaniel@njohnston.ca)
+%
+% This template has been downloaded from:
+% http://www.LaTeXTemplates.com
+%
+% License:
+% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%----------------------------------------------------------------------------------------
+%	PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
+%----------------------------------------------------------------------------------------
+
+\documentclass[$title$, $author$, $institute$, final]{beamer}
+
+\usepackage[scale=1.24]{beamerposter} % Use the beamerposter package for laying out the poster
+
+\usetheme{confposter} % Use the confposter theme supplied with this template
+
+\setbeamercolor{block title}{fg=ngreen,bg=white} % Colors of the block titles
+\setbeamercolor{block body}{fg=black,bg=white} % Colors of the body of blocks
+\setbeamercolor{block alerted title}{fg=white,bg=dblue!70} % Colors of the highlighted block titles
+\setbeamercolor{block alerted body}{fg=black,bg=dblue!10} % Colors of the body of highlighted blocks
+% Many more colors are available for use in beamerthemeconfposter.sty
+
+%-----------------------------------------------------------
+% Define the column widths and overall poster size
+% To set effective sepwid, onecolwid and twocolwid values, first choose how many columns you want and how much separation you want between columns
+% In this template, the separation width chosen is 0.024 of the paper width and a 4-column layout
+% onecolwid should therefore be (1-(# of columns+1)*sepwid)/# of columns e.g. (1-(4+1)*0.024)/4 = 0.22
+% Set twocolwid to be (2*onecolwid)+sepwid = 0.464
+% Set threecolwid to be (3*onecolwid)+2*sepwid = 0.708
+
+\newlength{\sepwid}
+\newlength{\onecolwid}
+\newlength{\twocolwid}
+\newlength{\threecolwid}
+\setlength{\paperwidth}{48in} % A0 width: 46.8in
+\setlength{\paperheight}{36in} % A0 height: 33.1in
+\setlength{\sepwid}{0.024\paperwidth} % Separation width (white space) between columns
+\setlength{\onecolwid}{0.22\paperwidth} % Width of one column
+\setlength{\twocolwid}{0.464\paperwidth} % Width of two columns
+\setlength{\threecolwid}{0.708\paperwidth} % Width of three columns
+\setlength{\topmargin}{-0.5in} % Reduce the top margin size
+%-----------------------------------------------------------
+
+\usepackage{graphicx}  % Required for including images
+
+\usepackage{booktabs} % Top and bottom rules for tables
+
+%----------------------------------------------------------------------------------------
+%	TITLE SECTION
+%----------------------------------------------------------------------------------------
+
+\title{$title$} % Poster title
+
+\author{$author$} % Author(s)
+
+\institute{$institute$} % Institution(s)
+
+%----------------------------------------------------------------------------------------
+
+\begin{document}
+
+\addtobeamertemplate{block end}{}{\vspace*{2ex}} % White space under blocks
+\addtobeamertemplate{block alerted end}{}{\vspace*{2ex}} % White space under highlighted (alert) blocks
+
+\setlength{\belowcaptionskip}{2ex} % White space under figures
+\setlength\belowdisplayshortskip{2ex} % White space under equations
+
+\begin{frame}[t] % The whole poster is enclosed in one beamer frame
+
+\begin{columns}[t] % The whole poster consists of three major columns, the second of which is split into two columns twice - the [t] option aligns each column's content to the top
+
+\begin{column}{\sepwid}\end{column} % Empty spacer column
+
+\begin{column}{\onecolwid} % The first column
+
+%----------------------------------------------------------------------------------------
+%	OBJECTIVES
+%----------------------------------------------------------------------------------------
+
+\begin{alertblock}{Objectives}
+
+Lorem ipsum dolor sit amet, consectetur, nunc tellus pulvinar tortor, commodo eleifend risus arcu sed odio:
+\begin{itemize}
+\item Mollis dignissim, magna augue tincidunt dolor, interdum vestibulum urna
+\item Sed aliquet luctus lectus, eget aliquet leo ullamcorper consequat. Vivamus eros sem, iaculis ut euismod non, sollicitudin vel orci.
+\item Nascetur ridiculus mus.
+\item Euismod non erat. Nam ultricies pellentesque nunc, ultrices volutpat nisl ultrices a.
+\end{itemize}
+
+\end{alertblock}
+
+%----------------------------------------------------------------------------------------
+%	INTRODUCTION
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Introduction}
+
+Lorem ipsum dolor \textbf{sit amet}, consectetur adipiscing elit. Sed commodo molestie porta. Sed ultrices scelerisque sapien ac commodo. Donec ut volutpat elit. Sed laoreet accumsan mattis. Integer sapien tellus, auctor ac blandit eget, sollicitudin vitae lorem. Praesent dictum tempor pulvinar. Suspendisse potenti. Sed tincidunt varius ipsum, et porta nulla suscipit et. Etiam congue bibendum felis, ac dictum augue cursus a. \textbf{Donec} magna eros, iaculis sit amet placerat quis, laoreet id est. In ut orci purus, interdum ornare nibh. Pellentesque pulvinar, nibh ac malesuada accumsan, urna nunc convallis tortor, ac vehicula nulla tellus eget nulla. Nullam lectus tortor, \textit{consequat tempor hendrerit} quis, vestibulum in diam. Maecenas sed diam augue.
+
+This statement requires citation \cite{Smith:2012qr}.
+
+\end{block}
+
+%------------------------------------------------
+
+\begin{figure}
+\includegraphics[width=0.8\linewidth]{placeholder.jpg}
+\caption{Figure caption}
+\end{figure}
+
+%----------------------------------------------------------------------------------------
+
+\end{column} % End of the first column
+
+\begin{column}{\sepwid}\end{column} % Empty spacer column
+
+\begin{column}{\twocolwid} % Begin a column which is two columns wide (column 2)
+
+\begin{columns}[t,totalwidth=\twocolwid] % Split up the two columns wide column
+
+\begin{column}{\onecolwid}\vspace{-.6in} % The first column within column 2 (column 2.1)
+
+%----------------------------------------------------------------------------------------
+%	MATERIALS
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Materials}
+
+The following materials were required to complete the research:
+
+\begin{itemize}
+\item Curabitur pellentesque dignissim
+\item Eu facilisis est tempus quis
+\item Duis porta consequat lorem
+\item Eu facilisis est tempus quis
+\end{itemize}
+
+The materials were prepared according to the steps outlined below:
+
+\begin{enumerate}
+\item Curabitur pellentesque dignissim
+\item Eu facilisis est tempus quis
+\item Duis porta consequat lorem
+\item Curabitur pellentesque dignissim
+\end{enumerate}
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+
+\end{column} % End of column 2.1
+
+\begin{column}{\onecolwid}\vspace{-.6in} % The second column within column 2 (column 2.2)
+
+%----------------------------------------------------------------------------------------
+%	METHODS
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Methods}
+
+Lorem ipsum dolor \textbf{sit amet}, consectetur adipiscing elit. Sed laoreet accumsan mattis. Integer sapien tellus, auctor ac blandit eget, sollicitudin vitae lorem. Praesent dictum tempor pulvinar. Suspendisse potenti. Sed tincidunt varius ipsum, et porta nulla suscipit et. Etiam congue bibendum felis, ac dictum augue cursus a. \textbf{Donec} magna eros, iaculis sit amet placerat quis, laoreet id est. In ut orci purus, interdum ornare nibh. Pellentesque pulvinar, nibh ac malesuada accumsan, urna nunc convallis tortor, ac vehicula nulla tellus eget nulla. Nullam lectus tortor, \textit{consequat tempor hendrerit} quis, vestibulum in diam. Maecenas sed diam augue.
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+
+\end{column} % End of column 2.2
+
+\end{columns} % End of the split of column 2 - any content after this will now take up 2 columns width
+
+%----------------------------------------------------------------------------------------
+%	IMPORTANT RESULT
+%----------------------------------------------------------------------------------------
+
+\begin{alertblock}{Important Result}
+
+Lorem ipsum dolor \textbf{sit amet}, consectetur adipiscing elit. Sed commodo molestie porta. Sed ultrices scelerisque sapien ac commodo. Donec ut volutpat elit.
+
+\end{alertblock}
+
+%----------------------------------------------------------------------------------------
+
+\begin{columns}[t,totalwidth=\twocolwid] % Split up the two columns wide column again
+
+\begin{column}{\onecolwid} % The first column within column 2 (column 2.1)
+
+%----------------------------------------------------------------------------------------
+%	MATHEMATICAL SECTION
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Mathematical Section}
+
+Nam quis odio enim, in molestie libero. Vivamus cursus mi at nulla elementum sollicitudin. Nam quis odio enim, in molestie libero. Vivamus cursus mi at nulla elementum sollicitudin.
+
+\begin{equation}
+E = mc^{2}
+\label{eqn:Einstein}
+\end{equation}
+
+Nam quis odio enim, in molestie libero. Vivamus cursus mi at nulla elementum sollicitudin. Nam quis odio enim, in molestie libero. Vivamus cursus mi at nulla elementum sollicitudin.
+
+\begin{equation}
+\cos^3 \theta =\frac{1}{4}\cos\theta+\frac{3}{4}\cos 3\theta
+\label{eq:refname}
+\end{equation}
+
+Nam quis odio enim, in molestie libero. Vivamus cursus mi at nulla elementum sollicitudin. Nam quis odio enim, in molestie libero. Vivamus cursus mi at nulla elementum sollicitudin.
+
+\begin{equation}
+\kappa =\frac{\xi}{E_{\mathrm{max}}} %\mathbb{ZNR}
+\end{equation}
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+
+\end{column} % End of column 2.1
+
+\begin{column}{\onecolwid} % The second column within column 2 (column 2.2)
+
+%----------------------------------------------------------------------------------------
+%	RESULTS
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Results}
+
+\begin{figure}
+\includegraphics[width=0.8\linewidth]{placeholder.jpg}
+\caption{Figure caption}
+\end{figure}
+
+Nunc tempus venenatis facilisis. Curabitur suscipit consequat eros non porttitor. Sed a massa dolor, id ornare enim:
+
+\begin{table}
+\vspace{2ex}
+\begin{tabular}{l l l}
+\toprule
+\textbf{Treatments} & \textbf{Response 1} & \textbf{Response 2}\\
+\midrule
+Treatment 1 & 0.0003262 & 0.562 \\
+Treatment 2 & 0.0015681 & 0.910 \\
+Treatment 3 & 0.0009271 & 0.296 \\
+\bottomrule
+\end{tabular}
+\caption{Table caption}
+\end{table}
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+
+\end{column} % End of column 2.2
+
+\end{columns} % End of the split of column 2
+
+\end{column} % End of the second column
+
+\begin{column}{\sepwid}\end{column} % Empty spacer column
+
+\begin{column}{\onecolwid} % The third column
+
+%----------------------------------------------------------------------------------------
+%	CONCLUSION
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Conclusion}
+
+Nunc tempus venenatis facilisis. \textbf{Curabitur suscipit} consequat eros non porttitor. Sed a massa dolor, id ornare enim. Fusce quis massa dictum tortor \textbf{tincidunt mattis}. Donec quam est, lobortis quis pretium at, laoreet scelerisque lacus. Nam quis odio enim, in molestie libero. Vivamus cursus mi at \textit{nulla elementum sollicitudin}.
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+%	ADDITIONAL INFORMATION
+%----------------------------------------------------------------------------------------
+
+\begin{block}{Additional Information}
+
+Maecenas ultricies feugiat velit non mattis. Fusce tempus arcu id ligula varius dictum.
+\begin{itemize}
+\item Curabitur pellentesque dignissim
+\item Eu facilisis est tempus quis
+\item Duis porta consequat lorem
+\end{itemize}
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+%	REFERENCES
+%----------------------------------------------------------------------------------------
+
+\begin{block}{References}
+
+\nocite{*} % Insert publications even if they are not cited in the poster
+\small{\bibliographystyle{unsrt}
+\bibliography{sample}\vspace{0.75in}}
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+%	ACKNOWLEDGEMENTS
+%----------------------------------------------------------------------------------------
+
+\setbeamercolor{block title}{fg=red,bg=white} % Change the block title color
+
+\begin{block}{Acknowledgements}
+
+\small{\rmfamily{Nam mollis tristique neque eu luctus. Suspendisse rutrum congue nisi sed convallis. Aenean id neque dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.}} \\
+
+\end{block}
+
+%----------------------------------------------------------------------------------------
+%	CONTACT INFORMATION
+%----------------------------------------------------------------------------------------
+
+\setbeamercolor{block alerted title}{fg=black,bg=norange} % Change the alert block title colors
+\setbeamercolor{block alerted body}{fg=black,bg=white} % Change the alert block body colors
+
+\begin{alertblock}{Contact Information}
+
+\begin{itemize}
+\item Web: \href{http://www.university.edu/smithlab}{http://www.university.edu/smithlab}
+\item Email: \href{mailto:john@smith.com}{john@smith.com}
+\item Phone: +1 (000) 111 1111
+\end{itemize}
+
+\end{alertblock}
+
+\begin{center}
+\begin{tabular}{ccc}
+\includegraphics[width=0.4\linewidth]{logo.png} & \hfill & \includegraphics[width=0.4\linewidth]{logo.png}
+\end{tabular}
+\end{center}
+
+%----------------------------------------------------------------------------------------
+
+\end{column} % End of the third column
+
+\end{columns} % End of all the columns in the poster
+
+\end{frame} % End of the enclosing frame
+
+\end{document}
diff --git a/.Rproj.user/441ADA46/sources/s-956CB4DB/lock_file b/.Rproj.user/441ADA46/sources/s-956CB4DB/lock_file
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-956CB4DB/lock_file
diff --git a/.Rproj.user/441ADA46/sources/s-B27DCD70/lock_file b/.Rproj.user/441ADA46/sources/s-B27DCD70/lock_file
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-B27DCD70/lock_file
