diff --git a/README.md b/README.md
index 144d385..713085c 100644
--- a/README.md
+++ b/README.md
@@ -12,11 +12,9 @@
 
 ## Overview
 
-The **posterdown** package provides a familiar workflow enviroment for those used to working in [RMarkdown](https://rmarkdown.rstudio.com/). See the `skeleton.Rmd` that is produced when generating a new posterdown document for how to go from typical RMarkdown formatting to this: **[posterdown PDF Poster](https://github.com/brentthorne/posterdown/raw/master/exampleposter.pdf)**
+The **posterdown** package provides a familiar workflow for those used to working in [RMarkdown](https://rmarkdown.rstudio.com/). See the `skeleton.Rmd` that is produced posterdown document for how to go from typical RMarkdown formatting to this: **[posterdown PDF Poster](https://github.com/brentthorne/posterdown/raw/master/exampleposter.pdf)**
 
-~~This package is currently focused on a single template called **posterdown_memoir** which is a 38in (H) by 45in (W) poster template which allows for custom section headers and content.~~
-
-This package is currently focused on a single template called **posterdown_pdf** which is a modular 38in (H) by 45in (W) poster template which allows for custom section headers and content.
+This package is currently focused on a single template called **posterdown_pdf** which is by default a 38in (H) x 45in (W) poster template which allows for custom section headers and content.
 
 ## Using posterdown from RStudio
 
@@ -34,6 +32,36 @@
 
     ![New R Markdown](posterdown_picture.png)
 
+## Customization
+
+Posterdown uses Latex to generate the PDF poster but more specifically it uses the [Memoir Latex](http://texdoc.net/texmf-dist/doc/latex/memoir/memman.pdf) class. Memoir was chosen for its flexability in page sizing as well as thorough documentation. I am fairly new to the world of Latex and found this class to have a reasonable amount of customization available. If there are any users who think there may be better options for down the road I am more than willing to listen! 
+
+### YAML OPTIONS
+
+YAML header options have been created to privide more freedom with design (ie colours and sizing) to fit a wide variety of requirments. Here is the default YAML found in the `skeleton.Rmd` file:
+
+|     Option    | Description |
+|---------------|-------------|
+| `title` | Poster title, acts as you would expect from RMarkdown. |
+| `author` | List of authors which (as of now) only has true support for a single author, however I have provided a hacky way to have many authors until I can find the time to figure out how to impliment something like the [rticles](https://github.com/rstudio/rticles/blob/master/inst/rmarkdown/templates/mdpi_article/skeleton/skeleton.Rmd) packages does|
+| `affiliation` | Author affiliations, which just as the `author` section is currently a hacky version of what I would ultimately like to produce. |
+| `font_size` | Represents the value for `\normaltextsize` in latex. All other font sizes are adjusted around this, for example, the title in the skeleton document is given the Latex command `\Huge`, meaning that the title text will be "huge" relative to the `font_size` chosen. [Here](https://www.overleaf.com/learn/latex/Font_sizes,_families,_and_styles) is a usefull resource for better understanding the Latex text sizing options.|
+| `font_family` | Selects the font family to be used on the poster, in the future I will try to mipiment multiple font families for various components of the poster (such as different fonts for the title versus the main body text).  For now only standard Latex fonts are availble, see [here](https://www.overleaf.com/learn/latex/Font_typefaces) for a list of possible options.|
+| `title_bgcol` | The background colour for the title section of the poster (currently using hex values to define this colour) |
+| `poster_bgcol`| Background colour of the posters main body section. |
+| `title_textcol` | Colour of the main title text. |
+| `header_textcol` | Colour of the Section Header Text |
+| `cite_col` | Colour of the citation link elements when using `natbib`. |
+| `url_col` | Colour of URL links specifically |
+| `link_col` | Colour of in document links (example would be referencing a Figure or a Table) |
+| `columnline_col` | Colour of the line which divides each column in the poster |
+| `poster_height` | Height of the final poster output. Units can be: "in", "mm", "cm" |
+| `poster_width` | Width of the final poster output. Units can be: "in", "mm", "cm" |
+| `column_numbers` | Number of columns you wish for the poster to have in the main section of the poster. |
+| `bibliography` | Name of the `.bib`. file which you are using to source material
+| `output` | For generating `posterdown_pdf`, in the future other poster designs or templates may be made for this package and thus this option in the YAML will be more flexible. For now this is the only option. |
+
+
 ## Using posterdown outside of RStudio
 
 1. Install [pandoc](http://pandoc.org) using the [instructions for your platform](https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md).
@@ -47,5 +75,5 @@
 3. Use the `rmarkdown::draft()` function to create articles:
 
     ```r
-    rmarkdown::draft("MyJSSArticle.Rmd", template = "posterdown_pdf", package = "posterdown")
+    rmarkdown::draft("MyPoster.Rmd", template = "posterdown_pdf", package = "posterdown")
     ```
