diff --git a/README.md b/README.md
index e55d927..aeb8957 100644
--- a/README.md
+++ b/README.md
@@ -65,11 +65,11 @@
* [Caching](#caching)
* [Hot-reload for development](#hot-reload-for-development)
* [File configuration](#file-configuration)
-* [Funcmap](#)
+* [Funcmap](#funcmap)
* [Cache](#cache)
* [Static files](#static-files)
- * Cache control headers
- * Cache-buster
+ * [Cache control headers](#cache-control-headers)
+ * [Cache-buster](#cache-buster)
* [Email](#email)
* [HTTPS](#https)
* [Logging](#logging)
@@ -772,6 +772,8 @@ The parameters represent:
- `directories`: A list of directories to include all templates contained
- `data`: The data object to send to the templates
+All templates will be parsed with the [funcap](#funcmap).
+
### Caching
Parsed templates will be cached within a `sync.Map` so the operation will only happen once per cache _group_ and _ID_. Be careful with your cache _group_ and _ID_ parameters to avoid collisions.
@@ -782,4 +784,52 @@ If the current [environment](#environments) is set to `config.EnvLocal`, which i
### File configuration
-To make things easier and less repetitive, parameters given to the _template renderer_ must not include the `templates` directory or the template file extensions. These are stored as constants within the `config` package. If your project has a need to change either of these, simply adjust the `TemplateDir` and `TemplateExt` constants.
\ No newline at end of file
+To make things easier and less repetitive, parameters given to the _template renderer_ must not include the `templates` directory or the template file extensions. These are stored as constants within the `config` package. If your project has a need to change either of these, simply adjust the `TemplateDir` and `TemplateExt` constants.
+
+## Funcmap
+
+The `funcmap` package provides a _function map_ (`template.FuncMap`) which will be included for all templates rendered with the [template renderer](#template-renderer). Aside from a few custom functions, [sprig](https://github.com/Masterminds/sprig) is included which provides over 100 commonly used template functions. The full list is available [here](http://masterminds.github.io/sprig/).
+
+To include additional custom functions, add to the slice in `GetFuncMap()` and define the function in the package. It will then become automatically available in all templates.
+
+## Cache
+
+As previously mentioned, [Redis](https://redis.io/) was chosen as the cache but it can be easily swapped out for something else. [go-redis](https://github.com/go-redis/redis) is used as the underlying client but the `Container` currently only exposes [gocache](https://github.com/eko/gocache) which was chosen because it makes interfacing with the cache client much easier, and it provides a consistent interface if you were to use a cache backend other than Redis.
+
+The built-in usage of the cache is currently only for optional [page caching](#cached-responses) but it can be used for practically anything.
+
+## Static files
+
+Static files are currently configured in the router (`routes/router.go`) to be served from the `static` directory. If you wish to change the directory, alter the constant `config.StaticDir`. The URL prefix for static files is `/files` which is controlled via the `config.StaticPrefix` constant.
+
+### Cache control headers
+
+Static files are grouped separately so you can apply middleware only to them. Included is a custom middleware to set cache control headers (`middleware.CacheControl`) which has been added to the static files router group.
+
+The cache max-life is controlled by the configuration at `Config.Cache.Expiration.StaticFile` and defaults to 6 months.
+
+### Cache-buster
+
+While it's ideal to use cache control headers on your static files so browsers cache the files, you need a way to bust the cache in case the files are changed. In order to do this, a function is provided in the [funcmap](#funcmap) to generate a static file URL for a given file that appends a cache-buster query. This query string is randomly generated and persisted until the application restarts.
+
+For example, to render a file located in `static/picture.png`, you would use:
+```go
+
+```
+
+Which would result in:
+```go
+
+```
+
+Where `9fhe73kaf3` is the randomly-generated cache-buster.
+
+## Email
+
+## HTTPS
+
+## Logging
+
+## Roadmap
+
+## Credits
\ No newline at end of file