diff --git a/reserve.cabal b/reserve.cabal
--- a/reserve.cabal
+++ b/reserve.cabal
@@ -1,5 +1,5 @@
 name:             reserve
-version:          0.1.0
+version:          0.1.1
 license:          MIT
 license-file:     LICENSE
 copyright:        (c) 2014 Simon Hengel
@@ -9,7 +9,7 @@
 description:      Universal and robust reloading for Haskell web applications
 category:         Web
 build-type:       Simple
-cabal-version:    >= 1.8
+cabal-version:    >= 1.10
 
 source-repository head
   type: git
@@ -29,7 +29,7 @@
       Util
   build-depends:
       base == 4.*
-    , base-compat >= 0.5.0
+    , base-compat >= 0.6.0
     , directory
     , network
     , unix
@@ -37,6 +37,8 @@
     , http-types
     , http-kit >= 0.5
     , bytestring
+  default-extensions: NoImplicitPrelude
+  default-language: Haskell2010
 
 test-suite spec
   type:
@@ -58,7 +60,9 @@
     , http-kit
     , bytestring
 
-    , hspec >= 1.5
+    , hspec >= 2
     , QuickCheck
     , http-conduit
     , warp >= 3
+  default-extensions: NoImplicitPrelude
+  default-language: Haskell2010
diff --git a/src/Interpreter.hs b/src/Interpreter.hs
--- a/src/Interpreter.hs
+++ b/src/Interpreter.hs
@@ -8,6 +8,8 @@
 , reload
 ) where
 
+import           Prelude.Compat
+
 import           System.Process
 import           System.Process.Internals
 import           System.IO
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -1,5 +1,7 @@
 module Main (main) where
 
+import           Prelude.Compat
+
 import           Network
 
 import           Options
diff --git a/src/Options.hs b/src/Options.hs
--- a/src/Options.hs
+++ b/src/Options.hs
@@ -8,7 +8,8 @@
 , Arg (..)
 ) where
 
-import           Control.Applicative
+import           Prelude.Compat
+
 import           Data.Maybe
 import           Data.List
 import           Text.Read.Compat
diff --git a/src/Reserve.hs b/src/Reserve.hs
--- a/src/Reserve.hs
+++ b/src/Reserve.hs
@@ -1,7 +1,8 @@
 {-# LANGUAGE OverloadedStrings #-}
 module Reserve (run) where
 
-import           Control.Applicative
+import           Prelude.Compat
+
 import           Control.Monad
 import           Control.Exception
 import           GHC.IO.Exception
@@ -32,15 +33,15 @@
 withSession opts = bracket (openSession opts) closeSession
 
 run :: Options -> IO ()
-run opts = withSession opts $ \(Session s int) -> forever $ do
+run opts = withSession opts $ \(Session s interpreter) -> forever $ do
   (h, _, _) <- accept s
-  Interpreter.reload int
-  Interpreter.start int (optionsAppArgs opts)
+  Interpreter.reload interpreter
+  Interpreter.start interpreter (optionsAppArgs opts)
   c <- inputStreamFromHandle h
   let send :: ByteString -> IO ()
       send = ignoreResourceVanished . B.hPutStr h
   readRequest True c >>= httpRequest (optionsPort opts) send
-  Interpreter.stop int
+  Interpreter.stop interpreter
   ignoreResourceVanished $ hClose h
 
 ignoreResourceVanished :: IO () -> IO ()
diff --git a/src/Util.hs b/src/Util.hs
--- a/src/Util.hs
+++ b/src/Util.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 module Util where
 
+import           Prelude.Compat
+
 import           Control.Concurrent
 import           Control.Exception
 import           System.IO
