diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 0.1.1.1
+
+* Fix warnings on GHC 7.10
+* Fix doctest when twitter-feed package exists
+
 ## 0.1.1
 
 * Add `sourceWithSearchResult` and `sourceWithSearchResult'`
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,3 +1,46 @@
 #!/usr/bin/env runhaskell
-import Distribution.Simple
-main = defaultMain
+
+-- This code is mostly borrowed from
+-- https://github.com/ekmett/lens/blob/4b032a0047f9ecf687947541211487c9d6244f3e/Setup.lhs
+
+import Data.List (nub)
+import Data.Version (showVersion)
+import Distribution.Package (PackageName(PackageName), PackageId, InstalledPackageId, packageVersion, packageName)
+import Distribution.PackageDescription (PackageDescription(), TestSuite(..))
+import Distribution.Simple (defaultMainWithHooks, UserHooks(..), simpleUserHooks)
+import Distribution.Simple.Utils (rewriteFile, createDirectoryIfMissingVerbose)
+import Distribution.Simple.BuildPaths (autogenModulesDir)
+import Distribution.Simple.Setup (BuildFlags(buildVerbosity), fromFlag)
+import Distribution.Simple.LocalBuildInfo (withLibLBI, withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps))
+import Distribution.Verbosity (Verbosity)
+import System.FilePath ((</>))
+
+main :: IO ()
+main = defaultMainWithHooks hooks
+
+hooks :: UserHooks
+hooks =
+    simpleUserHooks
+    { buildHook = \pkg lbi hooks flags -> do
+           generateBuildModule (fromFlag (buildVerbosity flags)) pkg lbi
+           buildHook simpleUserHooks pkg lbi hooks flags
+    }
+
+generateBuildModule :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
+generateBuildModule verbosity pkg lbi = do
+  let dir = autogenModulesDir lbi
+  createDirectoryIfMissingVerbose verbosity True dir
+  withLibLBI pkg lbi $ \_ libcfg ->
+    withTestLBI pkg lbi $ \suite suitecfg ->
+      rewriteFile (dir </> "Build_" ++ testName suite ++ ".hs") $ unlines
+        [ "module Build_" ++ testName suite ++ " where"
+        , "deps :: [String]"
+        , "deps = " ++ show (formatdeps (testDeps libcfg suitecfg))
+        ]
+  where
+    formatdeps = map (formatone . snd)
+    formatone p = case packageName p of
+      PackageName n -> n ++ "-" ++ showVersion (packageVersion p)
+
+testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> [(InstalledPackageId, PackageId)]
+testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys
diff --git a/Web/Twitter/Conduit/Api.hs b/Web/Twitter/Conduit/Api.hs
--- a/Web/Twitter/Conduit/Api.hs
+++ b/Web/Twitter/Conduit/Api.hs
@@ -419,7 +419,7 @@
     ]
 
 data FriendshipsDestroy
--- | Returns post data which follows the user specified in the ID parameter.
+-- | Returns post data which unfollows the user specified in the ID parameter.
 --
 -- You can perform request by using 'call':
 --
diff --git a/Web/Twitter/Conduit/Cursor.hs b/Web/Twitter/Conduit/Cursor.hs
--- a/Web/Twitter/Conduit/Cursor.hs
+++ b/Web/Twitter/Conduit/Cursor.hs
@@ -11,9 +11,11 @@
        , WithCursor (..)
        ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
-import Data.Aeson
 import Data.Monoid
+#endif
+import Data.Aeson
 import Data.Text (Text)
 import Web.Twitter.Types (checkError)
 
diff --git a/Web/Twitter/Conduit/Lens.hs b/Web/Twitter/Conduit/Lens.hs
--- a/Web/Twitter/Conduit/Lens.hs
+++ b/Web/Twitter/Conduit/Lens.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE RankNTypes #-}
 
 module Web.Twitter.Conduit.Lens
@@ -26,7 +27,9 @@
        , TT.ListsCursorKey
        ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Control.Lens
 import Data.Text (Text)
 import Network.HTTP.Types (Status, ResponseHeaders)
diff --git a/Web/Twitter/Conduit/Monad.hs b/Web/Twitter/Conduit/Monad.hs
--- a/Web/Twitter/Conduit/Monad.hs
+++ b/Web/Twitter/Conduit/Monad.hs
@@ -69,7 +69,9 @@
 runTW :: ( MonadBaseControl IO m
          , MonadIO m
          ) => TWInfo -> TW (ResourceT m) a -> m a
-runTW info st = HTTP.withManager $ \mgr -> runTWManager info mgr st
+runTW info st = do
+    mgr <- liftIO $ HTTP.newManager HTTP.tlsManagerSettings
+    runResourceT $ runTWManager info mgr st
 
 runTWManager :: MonadBaseControl IO m => TWInfo -> HTTP.Manager -> TW (ResourceT m) a -> ResourceT m a
 runTWManager info mgr st = runReaderT st $ TWEnv info mgr
diff --git a/Web/Twitter/Conduit/Parameters/TH.hs b/Web/Twitter/Conduit/Parameters/TH.hs
--- a/Web/Twitter/Conduit/Parameters/TH.hs
+++ b/Web/Twitter/Conduit/Parameters/TH.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE Rank2Types #-}
 {-# LANGUAGE TemplateHaskell #-}
@@ -57,8 +58,12 @@
     a <- newName "a"
     cName <- newName cNameS
     fName <- newName fNameS
+#if MIN_VERSION_template_haskell(2, 10, 0)
+    let cCxt = cxt [conT ''Parameters `appT` varT a]
+#else
     let cCxt = cxt [classP ''Parameters [varT a]]
-        tySig = sigD fName (appT (appT (conT ''Lens') (varT a)) (appT (conT ''Maybe) typ))
+#endif
+    let tySig = sigD fName (appT (appT (conT ''Lens') (varT a)) (appT (conT ''Maybe) typ))
         valDef = valD (varP fName) (normalB (appE (appE (appE (varE 'wrappedParam) (litE (stringL paramName))) (conE wrap)) (varE unwrap))) []
     dec <- classD cCxt cName [PlainTV a] [] [tySig, valDef]
     return [dec]
diff --git a/Web/Twitter/Conduit/Request.hs b/Web/Twitter/Conduit/Request.hs
--- a/Web/Twitter/Conduit/Request.hs
+++ b/Web/Twitter/Conduit/Request.hs
@@ -12,7 +12,9 @@
        , paramValueBS
        ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Control.Lens
 import Data.ByteString (ByteString)
 import qualified Data.ByteString.Char8 as S8
diff --git a/Web/Twitter/Conduit/Response.hs b/Web/Twitter/Conduit/Response.hs
--- a/Web/Twitter/Conduit/Response.hs
+++ b/Web/Twitter/Conduit/Response.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveFoldable #-}
 {-# LANGUAGE DeriveFunctor #-}
@@ -10,13 +11,15 @@
        , TwitterErrorMessage (..)
        ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+import Data.Foldable (Foldable)
+import Data.Traversable (Traversable)
+#endif
 import Control.Exception
 import Data.Aeson
 import Data.Data
-import Data.Foldable (Foldable)
 import qualified Data.Text as T
-import Data.Traversable (Traversable)
 import Network.HTTP.Types (Status, ResponseHeaders, Status, ResponseHeaders)
 
 data Response responseType = Response
diff --git a/tests/doctests.hs b/tests/doctests.hs
--- a/tests/doctests.hs
+++ b/tests/doctests.hs
@@ -1,19 +1,20 @@
 module Main where
 
+import Build_doctests (deps)
 import Test.DocTest
-import System.Directory
-import System.FilePath
-import Data.List
-import Control.Monad
-import Control.Applicative
 
 main = do
-  -- sources <- findSources "Web"
-  doctest $ args -- ++ sources
+  let sources =
+          [ "Web/Twitter/Conduit.hs"
+          ]
+
+  doctest $ args ++ sources
   where
-    args = [ "-i."
-           , "-idist/build/autogen"
-           , "-optP-include"
-           , "-optPdist/build/autogen/cabal_macros.h"
-           , "Web/Twitter/Conduit.hs"
-           ]
+    args = ( "-i."
+           : "-idist/build/autogen"
+           : "-optP-include"
+           : "-optPdist/build/autogen/cabal_macros.h"
+           : "-hide-all-packages"
+           : map ("-package=" ++) deps
+           )
+
diff --git a/twitter-conduit.cabal b/twitter-conduit.cabal
--- a/twitter-conduit.cabal
+++ b/twitter-conduit.cabal
@@ -1,5 +1,5 @@
 name:              twitter-conduit
-version:           0.1.1
+version:           0.1.1.1
 license:           BSD3
 license-file:      LICENSE
 author:            HATTORI Hiroki, Hideyuki Tanaka, Takahiro HIMURA
@@ -8,7 +8,7 @@
 category:          Web, Conduit
 stability:         Experimental
 cabal-version:     >= 1.8
-build-type:        Simple
+build-type:        Custom
 homepage:          https://github.com/himura/twitter-conduit
 
 description:
@@ -112,8 +112,6 @@
 
   build-depends:
       base
-    , filepath
-    , directory
     , doctest
 
 test-suite spec_main
