diff --git a/madlang.cabal b/madlang.cabal
--- a/madlang.cabal
+++ b/madlang.cabal
@@ -1,112 +1,104 @@
-name: madlang
-version: 2.1.1.1
-cabal-version: >=1.10
-build-type: Simple
-license: BSD3
-license-file: LICENSE
-copyright: Copyright: (c) 2016 Vanessa McHale
-maintainer: tmchale@wisc.edu
-stability: experimental
-homepage: https://github.com/vmchale/madlang#readme
-synopsis: Randomized templating language DSL
-description:
-    Please see README.md
-category: Web
-author: Vanessa McHale
-extra-source-files:
-    README.md
-    test/templates/fortune-teller.mad
-    test/templates/gambling.mad
-    test/templates/var.mad
-    test/templates/ordered.mad
-    test/templates/include.mad
-    test/templates/modifiers.mad
-    test/templates/err/*.mad
-    demo/shakespeare.mad
-    default.nix
-    release.nix
-    stack.yaml
-    bash/mkCompletions
-
-source-repository head
-    type: git
-    location: https://github.com/vmchale/madlang
+name:                madlang
+version:             2.1.1.2
+synopsis:            Randomized templating language DSL
+description:         Please see README.md
+homepage:            https://github.com/vmchale/madlang#readme
+license:             BSD3
+license-file:        LICENSE
+author:              Vanessa McHale
+maintainer:          tmchale@wisc.edu
+copyright:           Copyright: (c) 2016 Vanessa McHale
+category:            Web
+build-type:          Simple
+stability:           experimental
+extra-source-files:  README.md
+                   , test/templates/fortune-teller.mad
+                   , test/templates/gambling.mad
+                   , test/templates/var.mad
+                   , test/templates/ordered.mad
+                   , test/templates/include.mad
+                   , test/templates/modifiers.mad
+                   , test/templates/err/*.mad
+                   , demo/shakespeare.mad
+                   , default.nix
+                   , release.nix
+                   , stack.yaml
+                   , bash/mkCompletions
+cabal-version:       >=1.10
 
-flag llvm-fast
-    description:
-        Enable build with llvm backend
-    default: False
+Flag llvm-fast {
+  Description: Enable build with llvm backend
+  Default: False
+}
 
 library
-    exposed-modules:
-        Text.Madlibs
-    build-depends:
-        base >=4.7 && <5,
-        megaparsec >=5.2.0 && <5.3,
-        text >=1.2.2.1 && <1.3,
-        optparse-applicative >=0.13.2.0 && <0.14,
-        composition >=1.0.2.1 && <1.1,
-        directory >=1.3.0.0 && <1.4,
-        mwc-random >=0.13.5.0 && <0.14,
-        random-shuffle >=0.0.4 && <0.1,
-        microlens >=0.4.8.0 && <0.5,
-        mtl >=2.2.1 && <2.3,
-        ansi-wl-pprint >=0.6.7.3 && <0.7,
-        containers >=0.5.7.1 && <0.6
-    default-language: Haskell2010
-    default-extensions: OverloadedStrings DeriveGeneric DeriveFunctor
-    hs-source-dirs: src
-    other-modules:
-        Text.Madlibs.Ana.ParseUtils
-        Text.Madlibs.Cata.Run
-        Text.Madlibs.Ana.Parse
-        Text.Madlibs.Ana.Resolve
-        Text.Madlibs.Internal.Types
-        Text.Madlibs.Internal.Utils
-        Text.Madlibs.Cata.SemErr
-        Text.Madlibs.Exec.Main
+  hs-source-dirs:      src
+  exposed-modules:     Text.Madlibs
+  other-modules:       Text.Madlibs.Ana.ParseUtils
+                     , Text.Madlibs.Cata.Run
+                     , Text.Madlibs.Ana.Parse
+                     , Text.Madlibs.Ana.Resolve
+                     , Text.Madlibs.Internal.Types
+                     , Text.Madlibs.Internal.Utils
+                     , Text.Madlibs.Cata.SemErr
+                     , Text.Madlibs.Exec.Main
+  build-depends:       base >= 4.7 && < 5
+                     , megaparsec
+                     , text
+                     , optparse-applicative 
+                     , composition
+                     , directory
+                     , mwc-random
+                     , random-shuffle
+                     , microlens
+                     , mtl
+                     , ansi-wl-pprint
+                     , containers
+  default-language:    Haskell2010
+  default-extensions:  OverloadedStrings
+                     , DeriveGeneric
+                     , DeriveFunctor
 
 executable madlang
-    
-    if flag(llvm-fast)
-        ghc-options: -threaded -rtsopts -with-rtsopts=-N -fllvm -optlo-O3 -O3
-    else
-        ghc-options: -threaded -rtsopts -with-rtsopts=-N
-    main-is: Main.hs
-    build-depends:
-        base >=4.9.1.0 && <4.10,
-        madlang >=2.1.1.1 && <2.2
-    default-language: Haskell2010
-    hs-source-dirs: app
+  hs-source-dirs:      app
+  main-is:             Main.hs
+  if flag(llvm-fast)
+    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -fllvm -optlo-O3 -O3
+  else
+    ghc-options:       -threaded -rtsopts -with-rtsopts=-N 
+  build-depends:       base
+                     , madlang
+  default-language:    Haskell2010
 
+benchmark tweeths-bench
+  type:             exitcode-stdio-1.0
+  hs-source-dirs:   bench
+  main-is:          Bench.hs
+  build-depends:    base
+                  , criterion
+                  , madlang
+                  , megaparsec
+                  , text
+  if flag(llvm-fast)
+    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -fllvm -optlo-O3 -O3
+  else
+    ghc-options:       -threaded -rtsopts -with-rtsopts=-N -O3
+  default-language: Haskell2010
+
 test-suite madlang-test
-    type: exitcode-stdio-1.0
-    main-is: Spec.hs
-    build-depends:
-        base >=4.9.1.0 && <4.10,
-        madlang >=2.1.1.1 && <2.2,
-        hspec >=2.4.3 && <2.5,
-        megaparsec >=5.2.0 && <5.3,
-        text >=1.2.2.1 && <1.3,
-        mtl >=2.2.1 && <2.3,
-        hspec-megaparsec >=0.3.1 && <0.4
-    default-language: Haskell2010
-    hs-source-dirs: test
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      test
+  main-is:             Spec.hs
+  build-depends:       base
+                     , madlang
+                     , hspec
+                     , megaparsec
+                     , text
+                     , mtl
+                     , hspec-megaparsec
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N 
+  default-language:    Haskell2010
 
-benchmark tweeths-bench
-    
-    if flag(llvm-fast)
-        ghc-options: -threaded -rtsopts -with-rtsopts=-N -fllvm -optlo-O3 -O3
-    else
-        ghc-options: -threaded -rtsopts -with-rtsopts=-N -O3
-    type: exitcode-stdio-1.0
-    main-is: Bench.hs
-    build-depends:
-        base >=4.9.1.0 && <4.10,
-        criterion >=1.1.4.0 && <1.2,
-        madlang >=2.1.1.1 && <2.2,
-        megaparsec >=5.2.0 && <5.3,
-        text >=1.2.2.1 && <1.3
-    default-language: Haskell2010
-    hs-source-dirs: bench
+source-repository head
+  type:     git
+  location: https://github.com/vmchale/madlang
