diff --git a/inst/rmarkdown/templates/posterdown_betterland/resources/template.html b/inst/rmarkdown/templates/posterdown_betterland/resources/template.html
index cc05b9f..0c85df8 100644
--- a/inst/rmarkdown/templates/posterdown_betterland/resources/template.html
+++ b/inst/rmarkdown/templates/posterdown_betterland/resources/template.html
@@ -127,7 +127,7 @@
 padding-top: 0;
 }
 .references {
-font-size: 20px;
+font-size: $if(reference_textsize)$$reference_textsize$$else$20px$endif$;
 line-height: 90%;
 }
 /* Create three unequal columns that floats next to each other */
@@ -244,7 +244,7 @@
 }
 .main p {
 padding-top: 20%;
-font-size: $if(main_fonsize)$$main_fontsize$$else$170px$endif$;
+font-size: $if(main_fonsize)$$main_textsize$$else$170px$endif$;
 text-align: left;
 }
 .fab {
diff --git a/inst/rmarkdown/templates/posterdown_betterland/template.yaml b/inst/rmarkdown/templates/posterdown_betterland/template.yaml
index b26e40b..ec890fd 100644
--- a/inst/rmarkdown/templates/posterdown_betterland/template.yaml
+++ b/inst/rmarkdown/templates/posterdown_betterland/template.yaml
@@ -1,4 +1,5 @@
 name: Posterdown Betterland
 description: >
  Template for creating R Markdown based PDF via HTML, CSS and the Better Poster Style
-create_dir: true
+create_dir: false
+t
diff --git a/inst/rmarkdown/templates/posterdown_betterport/resources/template.html b/inst/rmarkdown/templates/posterdown_betterport/resources/template.html
index d83507b..70cc3cf 100644
--- a/inst/rmarkdown/templates/posterdown_betterport/resources/template.html
+++ b/inst/rmarkdown/templates/posterdown_betterport/resources/template.html
@@ -35,25 +35,25 @@
 <!--
 Google fonts api stuff
 -->
-<link href='https://fonts.googleapis.com/css?family=$middle_fontfamily$' rel='stylesheet'>
-<link href='https://fonts.googleapis.com/css?family=$font_family$' rel='stylesheet'>
+<link href='https://fonts.googleapis.com/css?family=$if(main_fontfamily)$$main_fontfamily$$else$Special Elite$endif$' rel='stylesheet'>
+<link href='https://fonts.googleapis.com/css?family=$if(main_fontfamily)$$main_fontfamily$$else$Rasa$endif$' rel='stylesheet'>
 
 <!--
 Here are the required style attributes for css to make this poster work :)
 -->
 <style>
 @page {
-size: $poster_width$ $poster_height$;
+size: $if(poster_width)$$poster_width$$else$36in$endif$ $if(poster_height)$$poster_height$$else$48in$endif$;
 margin: 0;
 padding: 0;
 }
 body {
 margin: 0px;
 padding: 0px;
-width: $poster_width$;
-height: $poster_height$;
+width: $if(poster_width)$$poster_width$$else$36in$endif$;
+height: $if(poster_height)$$poster_height$$else$48in$endif$;
 text-align: justify;
-font-size: $body_textsize$;
+font-size: $if(body_textsize)$$body_textsize$$else$45px$endif$;
 line-height: 1.05;
 }
 /* RMarkdown Class Styles */
@@ -78,7 +78,6 @@
 margin-top: 1em;
 margin-bottom: 1em;
 /* align-items: center; */
-padding-left: 2cm;
 }
 code.sourceCode.r{
 background-color: transparent;
@@ -88,22 +87,45 @@
 code {
 font-size: 25pt;
 font-family: monospace;
-background-color: $secondary_colour$24;
-color: $primary_colour$;
+background-color: $if(secondary_colour)$$secondary_colour$24$else$#00808024$endif$;
+color: $if(primary_colour)$$primary_colour$$else$#0b4545$endif$;
 padding: 1.2mm;
+line-height: 1;
 border-radius: 2mm;
 }
 caption {
 margin-bottom: 10px;
-font-size: $caption_fontsize$;
+font-size: $if(caption_textsize)$$caption_textsize$$else$20pt$endif$;
 font-style: italic;
 }
+
+tbody tr:nth-child(odd) {
+    background-color: $if(secondary_colour)$$secondary_colour$$else$#008080$endif$20;
+}
+.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td{
+  border-spacing: 0;
+  font-size: 40%;
+  border-style: none;
+  padding-top: 15px;
+  padding-bottom: 15px;
+  padding-right: 1em;
+  padding-left: 1em;
+  line-height: 1em;
+}
+table {
+  margin: auto;
+}
+th {
+  padding-left: 5mm;
+  padding-right: 5mm;
+}
 .caption {
-font-size: $caption_fontsize$;
+font-size: $if(caption_textzie)$$caption_textsize$$else$20pt$endif$;
 font-style: italic;
+padding-top: 0;
 }
 .references {
-font-size: $reference_textsize$;
+font-size: $if(reference_textsize)$$reference_textsize$$else$20px$endif$;
 line-height: 90%;
 }
 /* Create three unequal columns that floats next to each other */
@@ -112,11 +134,11 @@
 padding: 0px;
 }
 .outer {
-width: $poster_width$;
-height: calc($poster_height$ * $if(emph_size)$ (1 - $emph_size$ - $emphb_size$ - 0.01) $else$ 0.6325 $endif$);
--webkit-column-count: $column_numbers$; /* Chrome, Safari, Opera */
--moz-column-count: $column_numbers$; /* Firefox */
-column-count: $column_numbers$;
+width: $if(poster_width)$$poster_width$$else$36in$endif$;
+height: calc($if(poster_height)$$poster_height$$else$48in$endif$ * $if(main_topsize)$ (1 - $main_topsize$ - $main_bottomsize$ - 0.01) $else$ 0.6325 $endif$);
+-webkit-column-count: $if(column_numbers)$$column_numbers$$else$3$endif$; /* Chrome, Safari, Opera */
+-moz-column-count: $if(column_numbers)$$column_numbers$$else$3$endif$; /* Firefox */
+column-count: $if(column_numbers)$$column_numbers$$else$3$endif$;
 -webkit-column-fill: auto;
 -moz-column-fill: auto;
 column-fill: auto;
@@ -132,22 +154,22 @@
 -webkit-column-rule-color: black;
 -moz-column-rule-color: black;
 column-rule-color: black;
-background-color: $body_bgcol$;
-font-family: $font_family$;
-margin-top: calc($poster_height$ * $if(emph_size)$ $emph_size$ $else$ 0.25 $endif$);
+background-color: $if(body_bgcol)$$body_bgcol$$else$#ffffff$endif$;
+font-family: $if(main_fontfamily)$$main_fontfamily$$else$Rasa$endif$;
+margin-top: calc($if(poster_height)$$poster_height$$else$48in$endif$ * $if(main_topsize)$ $main_topsize$ $else$ 0.25 $endif$);
 padding-top: 1em;
 padding-bottom: 1em;
 }
 span.citation {
-  color: $secondary_colour$;
+  color: $if(secondary_colour)$$secondary_colour$$else$#008080$endif$;
   font-weight: bold;
 }
 a {
 text-decoration: none;
-color: $secondary_colour$;
+color: $if(secondary_colour)$$secondary_colour$$else$#008080$endif$;
 }
 #title {
-font-size: $title_textsize$;
+font-size: $if(title_textsize)$$title_textsize$$else$125pt$endif$;
 text-align: left;
 margin: 0;
 line-height: 98%;
@@ -155,28 +177,24 @@
 font-weight: normal;
 }
 #author {
-color: $primary_colour$;
+color: $if(primary_colour)$$primary_colour$$else$#0b4545$endif$;
 margin: 0;
 line-height: 85%;
-font-size: $author_textsize$;
+font-size: $if(author_textsize)$$author_textsize$$else$1.17em$endif$;
 }
 #affiliation {
 padding-top: 0.1em;
 color: $affiliation_textcol$;
 font-style: italic;
-font-size: $affiliation_textsize$;
+font-size: $if(affiliation_textsize)$$affiliation_textsize$$else$25px$endif$;
 margin: 0;
 }
 sup {
-color: $accent_colour$;
+color: $if(accent_colour)$$accent_colour$$else$#cc0000$endif$;
 }
 .affiliation sup {
 font-size: 20px;
 }
-table {
-  padding-left: 5%;
-  padding-right:; 5%;
-}
 .author {
 text-align: left;
 }
@@ -184,10 +202,10 @@
 font-size: 30px;
 }
 .author_extra {
-color: $secondary_colour$;
+color: $if(secondary_colour)$$secondary_colour$$else$#008080$endif$;
 margin: 0;
 line-height: 85%;
-font-size: $authorextra_textsize$;
+font-size: $if(authorextra_textsize)$$authorextra_textsize$$else$35px$endif$;
 text-align: left;
 }
 .outer h1, h2, h3, h4, h5, h6 {
@@ -201,17 +219,17 @@
   background:
     linear-gradient(
       to left,
-      $body_bgcol$ 1%,
-      $body_bgcol$ 20%,
-      $primary_colour$75 33%,
-      $primary_colour$ 50%,
-      $primary_colour$75 66%,
-      $body_bgcol$ 80%,
-      $body_bgcol$ 99%
+      $if(body_bgcol)$$body_bgcol$$else$#ffffff$endif$ 1%,
+      $if(body_bgcol)$$body_bgcol$$else$#ffffff$endif$ 20%,
+      $if(primary_colour)$$primary_colour$$else$#0b4545$endif$75 33%,
+      $if(primary_colour)$$primary_colour$$else$#0b4545$endif$ 50%,
+      $if(primary_colour)$$primary_colour$$else$#0b4545$endif$75 66%,
+      $if(body_bgcol)$$body_bgcol$$else$#ffffff$endif$ 80%,
+      $if(body_bgcol)$$body_bgcol$$else$#ffffff$endif$ 99%
     )
     left
     bottom
-    $body_bgcol$
+    $if(body_bgcol)$$body_bgcol$$else$#ffffff$endif$
     no-repeat;
   background-size:100% 5px ;
   margin-top: 0.5em;
@@ -221,58 +239,61 @@
 text-align: center;
 }
 .outer p, .level2 {
-color: #000000;
+color: $if(body_textcol)$$body_textcol$$else$#000000$endif$;
 }
 .outer ol {
 padding-left: 8%;
 padding-right: 8%;
 text-align: left;
 }
-.middle {
-width: $poster_width$;
-height: calc($poster_height$ * $if(emph_size)$ $emph_size$ $else$ 0.25 $endif$);
+.main {
+width: $if(poster_width)$$poster_width$$else$36in$endif$;
+height: calc($if(poster_height)$$poster_height$$else$48in$endif$ * $if(main_topsize)$$main_topsize$$else$0.25$endif$);
 position: absolute;
-background-color: $primary_colour$;
-color: $middle_textcol$$middle_textalpha$;
-font-family: $middle_fontfamily$;
-background-image: linear-gradient($primary_colour$ 50%, $secondary_colour$);
+background-color: $if(primary_colour)$$primary_colour$$else$#0b4545$endif$;
+color: $if(main_textcol)$$main_textcol$$else$#ffffff$endif$$if(main_textalpha)$$main_textalpha$$else$90$endif$;
+font-family: $if(main_fontfamily)$$main_fontfamily$$else$Special Elite$endif$;
+background-image: linear-gradient($if(primary_colour)$$primary_colour$$else$#0b4545$endif$ 50%,$if(secondary_colour)$$secondary_colour$$else$#008080$endif$);
 }
-.middle strong {
-color: $middle_textcol$;
+.main strong {
+color: $if(main_textcol)$$main_textcol$$else$#ffffff$endif$;
 }
-.middle strong > sup {
-color: $middle_textcol$;
+.main strong > sup {
+color: $if(main_textcol)$$main_textcol$$else$#ffffff$endif$;
 }
-.middle sup {
-color: $middle_textcol$$middle_textalpha$;
+.main sup {
+color: $if(main_textcol)$$main_textcol$$else$#ffffff$endif$$if(main_textalpha)$$main_textalpha$$else$90$endif$;
 }
-#middle-img-left {
+#main-img-left {
 width: 10%;
 left: 0.5in;
 bottom: 0.2in;
 position: absolute;
 opacity: 0.5
 }
-#middle-img-center {
+#main-img-center {
 width: 10%;
-left: calc($poster_width$ * 0.45);
+left: calc($if(poster_width)$$poster_width$$else$36in$endif$ * 0.45);
 bottom: 0.5in;
 position: absolute;
 opacity: 0.5
 }
-#middle-img-right {
+#main-img-right {
 width: 10%;
 right: 0.5in;
 bottom: 0.2in;
 position: absolute;
 opacity: 0.6
 }
-.middle p {
-font-size: $middle_fontsize$;
+.main p {
+font-size: $if(main_textsize)$$main_textsize$$else$150px$endif$;
 text-align: left;
 margin: 0;
-margin-left: 0.2em;
-margin-top: 0.75em;
+position: absolute;
+top: 50%;
+-ms-transform: translateY(-50%);
+transform: translateY(-50%);
+margin-left: 1em;
 }
 .fab {
 color: #00000030;
@@ -294,24 +315,22 @@
 text-decoration: none;
 }
 .poster_wrap {
-width: $poster_width$;
-height: $poster_height$;
+width: $if(poster_width)$$poster_width$$else$36in$endif$;
+height: $if(poster_height)$$poster_height$$else$48in$endif$;
 padding: 0cm;
 }
-.emphasis_bottom {
-width: $poster_width$;
-height: calc($poster_height$ * $if(emphb_size)$ $emphb_size$ $else$ 0.1 $endif$);
-margin-top: calc($poster_height$ * $if(emphb_size)$ (1 - $emphb_size$) $else$ 0.9 $endif$);
+.main_bottom {
+width: $if(poster_width)$$poster_width$$else$36in$endif$;
+height: calc($if(poster_height)$$poster_height$$else$48in$endif$ * $if(main_bottomsize)$$main_bottomsize$$else$0.1$endif$);
+margin-top: calc($if(poster_height)$$poster_height$$else$48in$endif$ * $if(main_bottomsize)$(1 - $main_bottomsize$)$else$0.9$endif$);
 position: absolute;
-background-color: $primary_colour$;
-background-image: linear-gradient($secondary_colour$ 10%, $primary_colour$);
+background-color: $if(primary_colour)$$primary_colour$$else$#0b4545$endif$;
+background-image: linear-gradient($if(seconday_colour)$$secondary_colour$$else$#008080$endif$ 10%, $if(primary_colour)$$primary_colour$$else$#0b4545$endif$);
 }
-
-.section, #author, #author_extra, #affiliation, #title {
-  padding-left: 7mm;
-  padding-right: 7mm;
+.section {
+  padding-left: $if(column_padding)$$column_padding$$else$10mm$endif$;
+  padding-right: $if(column_padding)$$column_padding$$else$10mm$endif$;
 }
-
 span > #tab:mytable {
   font-weight: bold;
 }
@@ -326,8 +345,9 @@
 <div class="poster_wrap">
 
 <div class="column outer">
-<h1 id="title">$title$</h1><br>
-<h3 id="author" class="author">
+<div class="section">
+$if(title)$<h1 id="title">$title$</h1><br>$else$$endif$
+$if(author)$<h3 id="author" class="author">
 
 $for(author)$
 $if(author.main)$
@@ -349,21 +369,25 @@
 $endif$
 $sep$ $endfor$
 </h5>
+$else$$endif$
 
+$if(affiliation)$
 <p id="affiliation" class="affiliation">
 $for(affiliation)$<sup>$affiliation.num$</sup> $affiliation.address$$sep$<br> $endfor$
 </p>
+$else$$endif$
+</div>
 
 $body$
 
 </div>
-<div class="column middle">
+<div class="main">
 <p>$for(main_findings)$$main_findings$$sep$<br><br> $endfor$</p>
 </div>
-<div class="emphasis_bottom">
-<img id="middle-img-left" src=$logoleft_name$>
-<img id="middle-img-center" src=$logocenter_name$>
-<img id="middle-img-right" src=$logoright_name$>
+<div class="main_bottom">
+<img id="main-img-left" src=$if(logoleft_name)$$logoleft_name$$else$$endif$>
+<img id="main-img-center" src=$if(logocenter_name)$$logocenter_name$$else$$endif$>
+<img id="main-img-right" src=$if(logoright_name)$$logoright_name$$else$$endif$>
 </div>
 </div>
 
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd
index 7255402..1848a52 100644
--- a/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd
@@ -1,10 +1,6 @@
 ---
-# PLEASE SEE THE README for in depth description github.com/brentthorne/posterdown
-poster_height: "48in"
-poster_width: "36in"
-emph_size: 0.2 #percent coverage of the poster
-emphb_size: 0.1
-font_family: 'Rasa'
+main_topsize: 0.2 #percent coverage of the poster
+main_bottomsize: 0.1
 #ESSENTIALS
 title: '**A Better Reproducible Poster Title**'
 author:
@@ -35,96 +31,93 @@
     address: Department of Graphics and Layouts, University of Posters; Canada
   - num: 3
     address: Another Institute of a place where work gets done, Earth, Milky Way
-#STYLE & FORMATTING
-title_textsize: "125pt"
-author_textsize: "1.17em"
-authorextra_textsize: "35px"
-affiliation_textsize: "25px"
-affiliation_textcol: '#00000080'
-caption_fontsize: "20pt"
-#Middle of the poster
-middle_fontfamily: "Special Elite"
-middle_textcol: "#FFFFFF"
-middle:textalpha: 90
-middle_fontsize: "150px"
 main_findings:
   - "Make **better posters** with RMarkdown + **posterdown**."
-  - "Transition from **poster** to **manuscript** with ease!"
-logoleft_name: "Figures/posterdownlogo.png"
-logocenter_name: "Figures/qr-code-black.png"
-logoright_name: "Figures/posterdownlogo.png"
-#---POSTER BODY OPTIONS---#
-primary_colour: '#0b4545'
-secondary_colour: '#008080'
-accent_colour: "#cc0000"
-body_bgcol: "#ffffff"
-body_textsize: "45px"
-body_textcol: "#000000"
-reference_textsize: "23px"
-#--Standard Options--#
+logoleft_name: https&#58;//raw.githubusercontent.com/brentthorne/posterdown/master/images/betterhexlogo.png
+logoright_name: https&#58;//raw.githubusercontent.com/brentthorne/posterdown/master/images/betterhexlogo.png
+logocenter_name: https&#58;//raw.githubusercontent.com/brentthorne/posterdown/master/images/qr-code-black.png
 output: 
   posterdown::posterdown_betterport:
     self_contained: false
     pandoc_args: --mathjax
     highlight: espresso
-    number_sections: true
-bibliography: MyBib.bib
+    number_sections: false
+bibliography: packages.bib
+link-citations: true
 ---
-```{r setup, include=FALSE}
-knitr::opts_chunk$set(
-  results = 'asis',
-  echo = FALSE,
-  warning = FALSE,
-  message = FALSE,
-  fig.align = 'center'
-)
+
+```{r, include=FALSE}
+knitr::opts_chunk$set(results = 'asis',
+                      echo = FALSE,
+                      warning = FALSE,
+                      tidy = FALSE,
+                      message = FALSE,
+                      fig.align = 'center',
+                      out.width = "100%")
+options(knitr.table.format = "html") 
 ```
 
 # Introduction
 
-Welcome to `posterdown` ! This is my attempt to provide a semi-smooth workflow for those who wish to take their R Markdown skills to the conference world. Most features from R Markdown are available in this package such as Markdown section notation, figure captioning, and even citations like this one [@rmarkdown]. The rest of this example poster will show how you can insert typical conference poster features into your own document. 
+This is the `posterdown_betterland` template for the {posterdown} package! I was inspired by the twitter thread of [Mike Morrison](https://mobile.twitter.com/mikemorrison/status/1110191245035479041) and wanted to apply the `#betterposter` concept to the reproducible (yet simple to use) functionality of the {posterdown} package [@R-posterdown]. If you're not an R user don't sweat as you do **NOT** need to use it at all! Feel free to use only the Markdown functionality of this package :)
+
+```{r, include=FALSE}
+knitr::write_bib(c('posterdown', 'rmarkdown','pagedown'), 'packages.bib')
+```
 
 ## Objectives
 
-1. Easy to use reproducible poster design. 
-2. Integration with R Markdown.
-3. Easy transition from `posterdown` to `thesisdown` or `rticles` [@rticles; @thesisdown].
+1. Pick a template layout.
+2. Write/ create your poster content distraction free.
+3. Let posterdown do its thing!
 
 # Methods
 
-This package uses the same workflow approach as the R Markdown you know and love. Basically it goes from RMarkdown > Knitr > Markdown > Pandoc > HTML/CSS > PDF. You can even use the bibliography the same way [@turnerControlsWaterBalance2014].
+I will show here how to include poster elements that may be useful, such as an equation using mathjax:
+
+$$
+E = mc^2
+$$
+
+To reference a citation you can add your `.bib` file to the working directory and name it in the YAML metadata or generate an automated one as done here, then you only need to reference the label value in the `.bib` file. For example this package is built on top of the wonderful {pagedown} package and I will cite it at the end of this sentance using this in the rmd `[@R-pagedown]` [@R-pagedown].
+
 
 # Results
 
-Usually you want to have a nice table displaying some important results that you have calculated. In `posterdown` this is as easy as using the `kable` table formatting you are probably use to as per typical R Markdown formatting.
+Here you may have some figures to show off, bellow I have made a scatterplot with the infamous Iris dataset and I can even reference to the figure automatically like this, `Figure \@ref(fig:irisfigure)`, Figure \@ref(fig:irisfigure).
 
-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) [@kableExtra2019]. You can reference tables like so: Table \@ref(tab:mytable). Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam placerat augue at velit tincidunt semper. Donec elementum porta posuere. Nullam interdum, odio at tincidunt feugiat, turpis nisi blandit eros, eu posuere risus felis non quam. Nam eget lorem odio. Duis et aliquet orci. Phasellus nec viverra est.
+```{r, irisfigure, fig.cap='Here is a caption for the figure. This can be added by using the "fig.cap" option in the r code chunk options, see this [link](https://yihui.name/knitr/options/#plots) from the legend himself, [Yihui Xie](https://twitter.com/xieyihui).'}
 
-```{r mytable, out.width='80%', fig.align='center'}
-knitr::kable(iris[1:10, 1:4], caption = 'Table caption.', align = 'c')
+plot(x = iris$Sepal.Length, y = iris$Sepal.Width,
+     col = iris$Species, pch = 19, xlab = "Sepal Length",
+     ylab = "Sepal Width")
 ```
 
-Or with figures: Figure \@ref(fig:standard-plot), or Figure \@ref(fig:morefigs).
+Maybe you want to show off some of that fancy code you spent so much time on to make that figure, well you can do that too! Just use the `echo=TRUE` option in the r code chunk options, Figure \@ref(fig:myprettycode)!
 
-```{r standard-plot, out.width='80%', fig.align='center', fig.cap='Great figure!', fig.height=10}
-plot(mtcars[1:2])
+```{r myprettycode, echo=TRUE,collapse=TRUE, fig.cap='Boxplots, so hot right now!', fig.height=9.5, out.width="100%"}
+#trim whitespace
+par(mar=c(2,2,0,0))
+#plot boxplots
+boxplot(iris$Sepal.Width~iris$Species,
+        col = "#008080", 
+        border = "#0b4545",
+        ylab = "Sepal Width (cm)",
+        xlab = "Species")
 ```
 
-```{r morefigs, out.width='80%', fig.cap='Amazing, right?!', fig.height=5}
-data <- iris
+How about a neat table of data? See, Table \@ref(tab:iristable):
 
-plot(x = data$Sepal.Length, y = data$Sepal.Width, col = data$Species, pch = 19, xlab = "Sepal Length (cm)", ylab = "Sepal Width (cm)")
-
+```{r, iristable}
+knitr::kable(
+  iris[1:10,1:5], format = "html",
+  caption = "A table made with the **knitr::kable** function.",
+  align = "c", col.names = c("Sepal <br> Length",
+                             "Sepal <br> Width",
+                             "Petal <br> Length",
+                             "Petal <br> Width",
+                             "Species"),
+  escape = FALSE)
 ```
 
-
-
-# Next Steps: More random text
-
-Aliquam sed faucibus risus, quis efficitur erat. Vestibulum semper mauris quis tempus eleifend. Aliquam sagittis dictum ipsum, quis viverra ligula eleifend ut. Curabitur sagittis vitae arcu eget faucibus. In non elementum felis. Duis et aliquam nunc. Nunc pulvinar sapien nunc, vel pretium nisi efficitur in. Fusce fringilla maximus leo et maximus. Fusce at ligula laoreet, iaculis mi at, auctor odio. Praesent sed elementum justo. Aenean consectetur risus rhoncus tincidunt efficitur. Praesent dictum mauris at diam maximus maximus [@thorneposterdown2019].
-
-# Conclusion
-
-Try `posterdown` out! Hopefully you like it!
-
 # References
diff --git a/inst/rmarkdown/templates/posterdown_betterport/template.yaml b/inst/rmarkdown/templates/posterdown_betterport/template.yaml
index 052f72a..c8f7a02 100644
--- a/inst/rmarkdown/templates/posterdown_betterport/template.yaml
+++ b/inst/rmarkdown/templates/posterdown_betterport/template.yaml
@@ -1,4 +1,4 @@
 name: Posterdown HTML Betterport
 description: >
  Template for creating R Markdown based PDF via HTML, CSS and the Better Poster Style
-create_dir: true
+create_dir: false
