diff --git a/ftp-client.cabal b/ftp-client.cabal
--- a/ftp-client.cabal
+++ b/ftp-client.cabal
@@ -1,37 +1,43 @@
-name:                ftp-client
-version:             0.1.0.0
-synopsis:            Transfer files with FTP and FTPS
-description:         Please see README.md
-homepage:            https://github.com/mr/ftp-client
-license:             PublicDomain
-maintainer:          mrobinson7627@gmail.com
-license-file:        LICENSE
-author:              Matthew Robinson
-category:            Web
-build-type:          Simple
-extra-source-files:  README.md
-cabal-version:       >=1.10
+name: ftp-client
+version: 0.1.0.1
+cabal-version: >=1.10
+build-type: Simple
+license: PublicDomain
+license-file: LICENSE
+maintainer: mrobinson7627@gmail.com
+homepage: https://github.com/mr/ftp-client
+synopsis: Transfer files with FTP and FTPS
+description:
+    ftp-client is a library for communicating with an FTP server. It works over both a clear channel or TLS.
+category: Web
+author: Matthew Robinson
+extra-source-files:
+    README.md
 
+source-repository head
+    type: git
+    location: https://github.com/mr/ftp-client
+
 library
-  hs-source-dirs:      src
-  exposed-modules:     Network.FTP.Client
-  build-depends:       base >= 4.7 && < 5
-                     , bytestring
-                     , network
-                     , attoparsec >= 0.10
-                     , connection >= 0.2
-  default-language:    Haskell2010
-  default-extensions:  OverloadedStrings
+    exposed-modules:
+        Network.FTP.Client
+    build-depends:
+        base >=4.7 && <5,
+        bytestring >=0.10.8.1 && <0.11,
+        network >=2.6.3.1 && <2.7,
+        attoparsec >=0.10 && <0.14,
+        connection ==0.2.*,
+        transformers >=0.5.2.0 && <0.6
+    default-language: Haskell2010
+    default-extensions: OverloadedStrings
+    hs-source-dirs: src
 
 test-suite ftp-client-test
-  type:                exitcode-stdio-1.0
-  hs-source-dirs:      test
-  main-is:             Spec.hs
-  build-depends:       base
-                     , ftp-client
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
-  default-language:    Haskell2010
-
-source-repository head
-  type:     git
-  location: https://github.com/mr/ftp-client
+    type: exitcode-stdio-1.0
+    main-is: Spec.hs
+    build-depends:
+        base >=4.9.0.0 && <4.10,
+        ftp-client >=0.1.0.1 && <0.2
+    default-language: Haskell2010
+    hs-source-dirs: test
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N
diff --git a/src/Network/FTP/Client.hs b/src/Network/FTP/Client.hs
--- a/src/Network/FTP/Client.hs
+++ b/src/Network/FTP/Client.hs
@@ -65,6 +65,8 @@
 import Network.Connection
 import System.IO.Error
 import Data.ByteString.Lazy.Internal (defaultChunkSize)
+import Data.Functor ((<$>))
+import Control.Applicative ((<*>))
 
 -- | Can send and recieve a 'Data.ByteString.ByteString'.
 data Handle = Handle
@@ -225,6 +227,7 @@
     return resp
 
 -- | Equvalent to
+--
 -- > mapM . sendCommand
 sendCommands :: Handle -> [FTPCommand] -> IO [FTPResponse]
 sendCommands = mapM . sendCommand
@@ -284,6 +287,7 @@
 
 -- | Takes a host name and port. A handle for interacting with the server
 -- will be returned in a callback.
+--
 -- @
 --      withFTP "ftp.server.com" 21 $ \h welcome -> do
 --          print welcome
@@ -415,6 +419,7 @@
 -- will be returned in a callback. The commands will be protected with TLS.
 -- Make sure to use TLS data commands like 'nlstS' or 'retrS' if you want
 -- those to use TLS as well
+--
 -- @
 --      withFTPS "ftps.server.com" 21 $ \h welcome -> do
 --          print welcome
