diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,12 @@
+# hlwm-haskell
+
+An IPC client implementation for the
+[herbstluftwm](http://herbstluftwm.org) window manager.
+
+# Installation
+
+`hlwm` is available on
+[hackage](https://hackage.haskell.org/package/hlwm). Install it
+using `cabal-install`:
+
+    cabal install hlwm
diff --git a/hlwm.cabal b/hlwm.cabal
--- a/hlwm.cabal
+++ b/hlwm.cabal
@@ -1,5 +1,5 @@
 name:                hlwm
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Bindings to the herbstluftwm window manager
 description:         A client-side IPC implementation for herbstluftwm.
 license:             BSD2
@@ -9,6 +9,7 @@
 category:            System
 build-type:          Simple
 cabal-version:       >=1.10
+extra-source-files:  README.md
 
 source-repository head
   type:               git
@@ -21,8 +22,11 @@
 library
   hs-source-dirs:      src
   other-extensions:    RecordWildCards, LambdaCase, MultiWayIf, TupleSections
-  build-depends:       base >=4.7 && <4.8, X11 >=1.6 && <1.7, transformers, monads-tf, stm,
-                       unix
+  build-depends:       base >=4.7 && <4.10
+                     , X11 >=1.6 && <1.7
+                     , transformers
+                     , stm
+                     , unix
   build-tools:         hsc2hs
   default-language:    Haskell2010
   exposed-modules:     HLWM.IPC,
@@ -34,8 +38,12 @@
   hs-source-dirs:      examples
   main-is:             HerbstClient.hs
   other-extensions:    RecordWildCards, LambdaCase, MultiWayIf, TupleSections
-  build-depends:       base >=4.7 && <4.8, X11 >=1.6 && <1.7, transformers, monads-tf, stm,
-                       unix, hlwm
+  build-depends:       base >=4.7 && <4.10
+                     , X11 >=1.6 && <1.7
+                     , transformers
+                     , stm
+                     , unix
+                     , hlwm
   build-tools:         hsc2hs
   default-language:    Haskell2010
   ghc-options:         -Wall -threaded
diff --git a/src/HLWM/IPC.hs b/src/HLWM/IPC.hs
--- a/src/HLWM/IPC.hs
+++ b/src/HLWM/IPC.hs
@@ -47,7 +47,6 @@
 import Control.Concurrent.STM
 import Control.Concurrent
 import Control.Monad
-import Control.Applicative
 import Data.Maybe
 import Control.Exception
 import System.Posix.Types (Fd(..))
diff --git a/src/HLWM/IPC/Internal.hs b/src/HLWM/IPC/Internal.hs
--- a/src/HLWM/IPC/Internal.hs
+++ b/src/HLWM/IPC/Internal.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE RecordWildCards, LambdaCase, MultiWayIf, TupleSections, BangPatterns, ScopedTypeVariables, Rank2Types #-}
+{-# LANGUAGE RecordWildCards, LambdaCase, MultiWayIf, TupleSections, BangPatterns, ScopedTypeVariables, Rank2Types, CPP #-}
 
 -- | Internal herbluftwm IPC implementation
 --
@@ -36,7 +36,9 @@
 import Graphics.X11.Xlib
 import Graphics.X11.Xlib.Extras
 import Graphics.X11.Xlib.Herbst
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Foreign.C.String
 import Data.Bits
 import Data.Maybe
