diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -201,6 +201,11 @@
 
 ## Contributions
 
+### Guide
+
+Contributions, bug reports, and feature requests are emphatically welcome.
+Please see the `CONTRIBUTING.md` guide for more specific details.
+
 ### Release Naming
 
 Releases are named using the `releases.mad` file found
diff --git a/cabal.project.local b/cabal.project.local
--- a/cabal.project.local
+++ b/cabal.project.local
@@ -1,3 +1,3 @@
 with-compiler: ghc-8.2.1
 optimization: 2
-constraints: madlang +development
+constraints: madlang +development +llvm-fast
diff --git a/madlang.cabal b/madlang.cabal
--- a/madlang.cabal
+++ b/madlang.cabal
@@ -1,5 +1,5 @@
 name:                madlang
-version:             3.1.0.7
+version:             3.1.0.10
 synopsis:            Randomized templating language DSL
 description:         Madlang is a text templating language written in Haskell,
                      meant to explore computational creativity and generative
@@ -117,7 +117,9 @@
     ghc-options:    -Werror
   if impl(ghc >= 8.0)
     ghc-options:    -Wincomplete-uni-patterns -Wincomplete-record-updates
-  ghc-options:      -O3
+  if flag(llvm-fast)
+    ghc-options:       -fllvm -O3 -optlo-O3 -opta-march=native -opta-mtune=native
+  ghc-options:      -O2
   default-language: Haskell2010
 
 test-suite madlang-test
diff --git a/man/madlang.1 b/man/madlang.1
--- a/man/madlang.1
+++ b/man/madlang.1
@@ -50,6 +50,13 @@
 Alternately, it is available from
 .PP
 https://github.com/vmchale/madlang\-vim
+.SH LIBRARIES
+.PP
+You can install third\-party libraries with
+.PP
+madlang get user/repo
+.PP
+The library will then be installed to $HOME/.madlang/repo
 .SH MODIFIERS
 .PP
 Strings in madlang can be followed by modifiers, for instance
@@ -71,5 +78,10 @@
 .PP
 You can examine an example using the bundled libraries at
 https://hub.darcs.net/vmchale/madlang\-insults.
+.SH COPYRIGHT
+.PP
+Copyright 2017.
+Vanessa McHale.
+All Rights Reserved.
 .SH AUTHORS
 Vanessa McHale<vanessa.mchale@reconfigure.io>.
diff --git a/src/Text/Madlibs/Ana/Resolve.hs b/src/Text/Madlibs/Ana/Resolve.hs
--- a/src/Text/Madlibs/Ana/Resolve.hs
+++ b/src/Text/Madlibs/Ana/Resolve.hs
@@ -6,7 +6,7 @@
   , runFile
   , makeTree
   , runText
-  , getInclusionCtx ) where
+  ) where
 
 import           Control.Arrow               (first)
 import           Control.Composition
diff --git a/src/Text/Madlibs/Packaging/Fetch.hs b/src/Text/Madlibs/Packaging/Fetch.hs
--- a/src/Text/Madlibs/Packaging/Fetch.hs
+++ b/src/Text/Madlibs/Packaging/Fetch.hs
@@ -28,15 +28,13 @@
     
     manager <- newManager tlsManagerSettings
     initialRequest <- parseRequest $ "https://github.com/" ++ s ++ "/archive/master.zip"
-    response <- httpLbs (initialRequest { method = "GET" }) manager
-    let byteStringResponse = responseBody response
+    response <- responseBody <$> httpLbs (initialRequest { method = "GET" }) manager
 
     putStrLn "unpacking libraries..."
     home <- getEnv "HOME"
     let packageDir = if os /= "mingw32" then home ++ "/.madlang" else home ++ "\\.madlang"
-    let archive = toArchive byteStringResponse
     let options = OptDestination packageDir
-    extractFilesFromArchive [options] archive
+    extractFilesFromArchive [options] (toArchive response)
 
     let repoName = filter (/='/') . dropWhile (/='/') $ s
     renameDirectory (packageDir ++ "/" ++ repoName ++ "-master") (packageDir ++ "/" ++ repoName)
@@ -47,15 +45,13 @@
     putStrLn "fetching latest vim plugin..."
     manager <- newManager defaultManagerSettings
     initialRequest <- parseRequest "http://vmchale.com/static/vim.zip"
-    response <- httpLbs (initialRequest { method = "GET" }) manager
-    let byteStringResponse = responseBody response
+    response <- responseBody <$> httpLbs (initialRequest { method = "GET" }) manager
 
     putStrLn "installing locally..."
     home <- getEnv "HOME"
     let packageDir = if os /= "mingw32" then home ++ "/.vim" else home ++ "\\vimfiles"
-    let archive = toArchive byteStringResponse
     let options = OptDestination packageDir
-    extractFilesFromArchive [options] archive
+    extractFilesFromArchive [options] (toArchive response)
 
     putStrLn "cleaning junk..."
     removeFile (packageDir ++ "/TODO.md")
@@ -70,13 +66,12 @@
     putStrLn "fetching libraries..."
     manager <- newManager defaultManagerSettings
     initialRequest <- parseRequest "http://vmchale.com/static/packages.tar.gz"
-    response <- httpLbs (initialRequest { method = "GET" }) manager
-    let byteStringResponse = responseBody response
+    response <- responseBody <$> httpLbs (initialRequest { method = "GET" }) manager
 
     putStrLn "unpacking libraries..."
     home <- getEnv "HOME"
     let packageDir = if os /= "mingw32" then home ++ "/.madlang" else home ++ "\\.madlang"
-    Tar.unpack packageDir . Tar.read . decompress $ byteStringResponse
+    Tar.unpack packageDir . Tar.read . decompress $ response
 
 cleanPackages :: IO ()
 cleanPackages =
