diff --git a/rtcm.cabal b/rtcm.cabal
--- a/rtcm.cabal
+++ b/rtcm.cabal
@@ -1,111 +1,105 @@
-name: rtcm
-version: 0.2.5
-cabal-version: >=1.22
-build-type: Simple
-license: BSD3
-copyright: Copyright (C) 2015-2017 Swift Navigation, Inc.
-maintainer: Swift Navigation <dev@swift-nav.com>
-homepage: http://github.com/swift-nav/librtcm
-synopsis: RTCM Library.
+name:                  rtcm
+version:               0.2.6
+synopsis:              RTCM Library.
+description:           Haskell bindings for RTCM.
+homepage:              http://github.com/swift-nav/librtcm
+license:               BSD3
+author:                Mark Fine <mark@swift-nav.com>, Joshua Gross <josh@swift-nav.com>
+maintainer:            Swift Navigation <dev@swift-nav.com>
+copyright:             Copyright (C) 2015-2017 Swift Navigation, Inc.
+category:              Network
+build-type:            Simple
+cabal-version:         >= 1.22
 description:
-    Haskell bindings for Radio Technical Commission For Maritime
-    Services (RTCM) standard, supporting GPS, GLONASS, Galileo and other
-    satellite-based position systems operation with one reference
-    station or a network.
-category: Network
-author: Mark Fine <mark@swift-nav.com>, Joshua Gross <josh@swift-nav.com>
+  Haskell bindings for Radio Technical Commission For Maritime
+  Services (RTCM) standard, supporting GPS, GLONASS, Galileo and other
+  satellite-based position systems operation with one reference
+  station or a network.
 
 source-repository head
-    type: git
-    location: https://github.com/swift-nav/librtcm
+  type:                git
+  location:            https://github.com/swift-nav/librtcm
 
 library
-    exposed-modules:
-        Data.CRC24Q
-        Data.RTCM3
-        Data.RTCM3.Antennas
-        Data.RTCM3.Ephemerides
-        Data.RTCM3.Internal
-        Data.RTCM3.Observations
-        Data.RTCM3.SSR
-        Data.RTCM3.System
-        Data.RTCM3.Types
-    build-depends:
-        aeson >=0.11.3.0,
-        array >=0.5.1.0,
-        base >=4.8 && <5,
-        base64-bytestring >=1.0.0.1,
-        basic-prelude >=0.5.2,
-        binary >=0.7.5.0,
-        binary-bits >=0.5,
-        bytestring >=0.10.6.0,
-        lens >=4.13,
-        lens-aeson >=1.0.0.5,
-        template-haskell >=2.10.0.0,
-        text >=1.2.2.2,
-        word24 >=2.0.1
-    default-language: Haskell2010
-    hs-source-dirs: src
-    other-modules:
-        Data.RTCM3.Extras
-        Data.RTCM3.TH
-    ghc-options: -Wall
+  hs-source-dirs:      src
+  exposed-modules:     Data.CRC24Q
+                     , Data.RTCM3
+                     , Data.RTCM3.Antennas
+                     , Data.RTCM3.Ephemerides
+                     , Data.RTCM3.Internal
+                     , Data.RTCM3.Observations
+                     , Data.RTCM3.SSR
+                     , Data.RTCM3.System
+                     , Data.RTCM3.Types
+  other-modules:       Data.RTCM3.Extras
+                     , Data.RTCM3.TH
+  ghc-options:         -Wall
+  build-depends:       aeson
+                     , array
+                     , base >= 4.8 && < 5
+                     , base64-bytestring
+                     , basic-prelude
+                     , binary
+                     , binary-bits
+                     , bytestring
+                     , lens
+                     , lens-aeson
+                     , template-haskell
+                     , text
+                     , word24
+  default-language:    Haskell2010
 
 executable rtcm32json
-    main-is: rtcm32json.hs
-    build-depends:
-        aeson >=0.11.3.0,
-        base >=4.8.2.0,
-        basic-prelude >=0.5.2,
-        binary-conduit >=1.2.4.1,
-        bytestring >=0.10.6.0,
-        conduit >=1.2.10,
-        conduit-combinators >=1.0.8.3,
-        conduit-extra >=1.1.16,
-        rtcm
-    default-language: Haskell2010
-    hs-source-dirs: main
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+  hs-source-dirs:      main
+  main-is:             rtcm32json.hs
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
+  build-depends:       aeson
+                     , base
+                     , basic-prelude
+                     , binary-conduit
+                     , bytestring
+                     , conduit
+                     , conduit-combinators
+                     , conduit-extra
+                     , rtcm
+  default-language:    Haskell2010
 
 executable json2rtcm3
-    main-is: json2rtcm3.hs
-    build-depends:
-        aeson >=0.11.3.0,
-        base >=4.8.2.0,
-        basic-prelude >=0.5.2,
-        binary-conduit >=1.2.4.1,
-        conduit >=1.2.10,
-        conduit-extra >=1.1.16,
-        rtcm
-    default-language: Haskell2010
-    hs-source-dirs: main
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+  hs-source-dirs:      main
+  main-is:             json2rtcm3.hs
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
+  build-depends:       aeson
+                     , base
+                     , basic-prelude
+                     , binary-conduit
+                     , conduit
+                     , conduit-extra
+                     , rtcm
+  default-language:    Haskell2010
 
 test-suite test
-    type: exitcode-stdio-1.0
-    main-is: Test.hs
-    build-depends:
-        base >=4.8.2.0,
-        basic-prelude >=0.5.2,
-        binary >=0.7.5.0,
-        binary-bits >=0.5,
-        bytestring >=0.10.6.0,
-        lens >=4.13,
-        random >=1.1,
-        rtcm,
-        tasty >=0.11.2.1,
-        tasty-hunit >=0.9.2,
-        tasty-quickcheck >=0.8.4,
-        word24 >=2.0.1
-    default-language: Haskell2010
-    hs-source-dirs: test
-    other-modules:
-        Test.Data.CRC24Q
-        Test.Data.RTCM3.Antennas
-        Test.Data.RTCM3.Ephemerides
-        Test.Data.RTCM3.Extras
-        Test.Data.RTCM3.Observations
-        Test.Data.RTCM3.SSR
-        Test.Data.RTCM3.System
-        Test.Data.RTCM3.Test
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      test
+  main-is:             Test.hs
+  other-modules:       Test.Data.CRC24Q
+                     , Test.Data.RTCM3.Antennas
+                     , Test.Data.RTCM3.Ephemerides
+                     , Test.Data.RTCM3.Extras
+                     , Test.Data.RTCM3.Observations
+                     , Test.Data.RTCM3.SSR
+                     , Test.Data.RTCM3.System
+                     , Test.Data.RTCM3.Test
+  build-depends:       base
+                     , basic-prelude
+                     , binary
+                     , binary-bits
+                     , bytestring
+                     , lens
+                     , random
+                     , rtcm
+                     , tasty
+                     , tasty-hunit
+                     , tasty-quickcheck
+                     , word24
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
+  default-language:    Haskell2010
diff --git a/src/Data/RTCM3.hs b/src/Data/RTCM3.hs
--- a/src/Data/RTCM3.hs
+++ b/src/Data/RTCM3.hs
@@ -14,7 +14,7 @@
 -- RTCMv3 message containers.
 
 module Data.RTCM3
-  ( RTCM3Msg (..)
+  ( module Data.RTCM3
   , module Export
   ) where
 
diff --git a/src/Data/RTCM3/Antennas.hs b/src/Data/RTCM3/Antennas.hs
--- a/src/Data/RTCM3/Antennas.hs
+++ b/src/Data/RTCM3/Antennas.hs
@@ -12,7 +12,9 @@
 --
 -- RTCMv3 antenna messages for stationary references and descriptors.
 
-module Data.RTCM3.Antennas where
+module Data.RTCM3.Antennas
+  ( module Data.RTCM3.Antennas
+  ) where
 
 import           BasicPrelude
 import           Control.Lens
diff --git a/src/Data/RTCM3/Ephemerides.hs b/src/Data/RTCM3/Ephemerides.hs
--- a/src/Data/RTCM3/Ephemerides.hs
+++ b/src/Data/RTCM3/Ephemerides.hs
@@ -12,7 +12,9 @@
 --
 -- RTCMv3 Ephemerides messages
 
-module Data.RTCM3.Ephemerides where
+module Data.RTCM3.Ephemerides
+  ( module Data.RTCM3.Ephemerides
+  ) where
 
 import           BasicPrelude
 import           Control.Lens
diff --git a/src/Data/RTCM3/Observations.hs b/src/Data/RTCM3/Observations.hs
--- a/src/Data/RTCM3/Observations.hs
+++ b/src/Data/RTCM3/Observations.hs
@@ -13,7 +13,9 @@
 --
 -- RTCMv3 Observations.
 
-module Data.RTCM3.Observations where
+module Data.RTCM3.Observations
+  ( module Data.RTCM3.Observations
+  ) where
 
 import           BasicPrelude
 import           Control.Lens
diff --git a/src/Data/RTCM3/SSR.hs b/src/Data/RTCM3/SSR.hs
--- a/src/Data/RTCM3/SSR.hs
+++ b/src/Data/RTCM3/SSR.hs
@@ -12,7 +12,9 @@
 --
 -- RTCMv3 messages for State Space Representation parameters.
 
-module Data.RTCM3.SSR where
+module Data.RTCM3.SSR
+  ( module Data.RTCM3.SSR
+  ) where
 
 import           BasicPrelude
 import           Control.Lens
diff --git a/src/Data/RTCM3/System.hs b/src/Data/RTCM3/System.hs
--- a/src/Data/RTCM3/System.hs
+++ b/src/Data/RTCM3/System.hs
@@ -12,7 +12,9 @@
 --
 -- RTCMv3 System.
 
-module Data.RTCM3.System where
+module Data.RTCM3.System
+  ( module Data.RTCM3.System
+  ) where
 
 import           BasicPrelude
 import           Control.Lens
diff --git a/src/Data/RTCM3/TH.hs b/src/Data/RTCM3/TH.hs
--- a/src/Data/RTCM3/TH.hs
+++ b/src/Data/RTCM3/TH.hs
@@ -11,7 +11,9 @@
 --
 -- Templated generation of RTCM3 interfaces.
 
-module Data.RTCM3.TH where
+module Data.RTCM3.TH
+  ( module Data.RTCM3.TH
+  ) where
 
 import BasicPrelude         hiding (length)
 import Data.Binary
diff --git a/src/Data/RTCM3/Types.hs b/src/Data/RTCM3/Types.hs
--- a/src/Data/RTCM3/Types.hs
+++ b/src/Data/RTCM3/Types.hs
@@ -15,7 +15,9 @@
 -- Common RTCMv3 type requirements, containers, and serialization
 -- utilities.
 
-module Data.RTCM3.Types where
+module Data.RTCM3.Types
+  ( module Data.RTCM3.Types
+  ) where
 
 import           BasicPrelude
 import           Control.Lens             hiding ((.=))
