diff --git a/Images/example_poster1.png b/Images/example_poster1.png
index cdc656f..a3c487a 100644
--- a/Images/example_poster1.png
+++ b/Images/example_poster1.png
Binary files differ
diff --git a/README.md b/README.md
index 6065e97..9b67575 100644
--- a/README.md
+++ b/README.md
@@ -136,6 +136,7 @@
 | `column_numbers` | Number of columns you wish for the poster to have in the main section of the poster. |
 | `column_margins` | Spcaing between each column as well as the edge of the poster.|
 | `columnline_col` | Colour of the line which divides each column in the poster. |
+| `columnline_width` | Width of line between each column. |
 
 #### Section Title Styling
 
diff --git a/inst/rmarkdown/templates/posterdown_pdf/resources/template.tex b/inst/rmarkdown/templates/posterdown_pdf/resources/template.tex
index e3465f1..be5ec1f 100644
--- a/inst/rmarkdown/templates/posterdown_pdf/resources/template.tex
+++ b/inst/rmarkdown/templates/posterdown_pdf/resources/template.tex
@@ -85,7 +85,7 @@
 \captiontitlefont{\footnotesize\sffamily}
 
 %define column options
-\setlength{\columnseprule}{1pt}
+\setlength{\columnseprule}{$columnline_width$}
 \def\columnseprulecolor{\color{columnlinecol}}
 
 %define section title features
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd
index 87f0a55..19a7269 100644
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd
@@ -1,4 +1,7 @@
 ---
+#
+# PLEASE SEE THE README for in depth description github.com/brentthorne/posterdown
+#
 #---POSTER SIZE & DEFAULT FONT---#
 poster_height: "38in" # height in inches of poster
 poster_width: "45in" # width in inches of poster
@@ -38,6 +41,7 @@
 column_numbers: 4 # Number of columns that the poster has
 column_margins: "0.5in" # Margin spacing for columns
 columnline_col: "008080" #colour 
+columnline_width: "0pt" #width of line between each column
 #SECTION TITLE STYLING
 sectitle_textcol: "ffffff" # Colour of the poster section titles
 sectitle_bgcol: "0b4545" # Colour of the section title box
@@ -73,9 +77,10 @@
 
 # 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.
+Here is a map made to show the study site using `ggplot2`, `ggspatial`, and `sf` and you can even reference this with a hyperlink, this will take you to **Figure \ref{mymapfig}**. Lorem ipsum dolor sit amet, [@middleton_geological_nodate] consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
+\vspace{1cm}
 
-```{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}
+```{r, out.width="80%", fig.cap='This is a map of Canada, the ggspatial package is great for GIS folks in R! \\label{mymapfig}', cache=TRUE}
 library(ggplot2)
 library(ggspatial)
 library(ggthemes)
@@ -83,11 +88,17 @@
 
 canada <- read_sf("data/Canada.geojson")
 
+yukon <- canada %>% 
+  filter(PROV == "YT")
+
 ggplot() +
-  ggspatial::layer_spatial(canada, fill = "grey") +
-  ggspatial::annotation_north_arrow(location = "br", which_north = "true", style = north_arrow_nautical()) +
+  ggspatial::layer_spatial(canada,fill = "grey80", colour = "grey60") +
+  ggspatial::layer_spatial(yukon,fill = "yellow", colour = "black") +
+  ggspatial::annotation_north_arrow(location = "br",pad_y = unit(1,"cm"),pad_x = unit(0.7,"cm"), which_north = "true", style = north_arrow_orienteering()) +
+  ggspatial::annotation_scale(location = "br",style = "ticks") +
   coord_sf() +
-  theme_solarized() +
+  theme_pander() +
+  theme(legend.position = "none") +
   NULL
 ```
 
@@ -98,7 +109,7 @@
 3. Easy transition from `posterdown` to `thesisdown` or `rticles`
 
 \lipsum[2]
-\lipsum[2]
+\lipsum[4]
 
 # Methods
 
@@ -108,6 +119,7 @@
 
 Usually you want to have a nice table displaying some important results that you have calcualated. In posterdown this is as easy as using the `kable` table formatting you are probably use to as per typical `RMarkdown` formatting. I suggesting checking out the `kableExtra` package and its in depth documentation on customizing these tables found [here](https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf).
 
+\vspace{1cm}
 
 ```{r}
 library(kableExtra)
@@ -120,18 +132,27 @@
 
 ```
 
-\vspace{0.5in}
+\vspace{2cm}
 
-```{r, out.width='80%', fig.width=4, fig.height=5, fig.cap='A typical plot using ggplot using the classic iris dataset.'}
+```{r, out.width='100%', fig.height=4.5, fig.cap='Using ggplot and patchwork to generate a layout of multiple plots in one figure. The iris dataset was used to generate (a) a line graph, (b) a scatterplot, and (c) a boxplot all together!'}
 
-library(ggplot2)
+library(tidyverse)
+library(patchwork)
 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
+theme_set(theme_gray() + theme_tufte() + theme(legend.position = "none"))
+
+base <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species))
+  
+p_point <- base + geom_point()
+p_line  <- base + geom_line() 
+p_area  <- base + geom_area()
+p_box1  <- ggplot(iris) + geom_boxplot(aes(x = Species, y = Sepal.Length, fill = Species))
+p_box2  <- ggplot(iris) + geom_boxplot(aes(x = Species, y = Sepal.Width, fill = Species))
+
+p_line + 
+  {p_point + p_box1} +
+  plot_layout(ncol = 1) + plot_annotation(tag_levels = "a", tag_prefix = "(",tag_suffix = ")")
 
 ```
 
@@ -143,7 +164,7 @@
 
 ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
   geom_point() +
-  theme_hc() +
+  theme_tufte() +
   labs(x = "Sepal Length", y = "Sepeal Width") +
   NULL
 
@@ -162,7 +183,7 @@
            y = Sepal.Length,
            colour = Species)) +
   geom_point() +
-  theme_stata() +
+  theme_tufte() +
   NULL
 
 ```
