diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+2017-06-12 v0.8.4.1
+	* Update for ghc-mod 5.8.0.0
 2017-02-11 v0.8.4.0
 	* Update for GHC 8.0.2
 	* Use ghc-mod version to 5.7
diff --git a/HaRe.cabal b/HaRe.cabal
--- a/HaRe.cabal
+++ b/HaRe.cabal
@@ -1,5 +1,5 @@
 Name:                           HaRe
-Version:                        0.8.4.0
+Version:                        0.8.4.1
 
 Author:                         Chris Brown, Huiqing Li, Simon Thompson,
                                 Alan Zimmerman, Stephen Adams
@@ -125,8 +125,8 @@
                                , directory
                                , filepath
                                , ghc
-                               , ghc-exactprint == 0.5.3.*
-                               , ghc-mod == 5.7.0.*
+                               , ghc-exactprint >= 0.5.3.0
+                               , ghc-mod == 5.8.0.*
                                , ghc-syb-utils
                                , hslogger
                                , monad-control
@@ -146,7 +146,7 @@
         -- real	0m36.427s
         -- user 0m41.448s
         -- sys 0m2.544s
-        GHC-Options:            -O0
+        GHC-Options:            -O0 -Wall
         Hs-Source-Dirs:         src
         -- Other-Modules:          Paths_HaRe
         Exposed-modules:
@@ -188,17 +188,17 @@
 Executable ghc-hare
         Main-Is:                MainHaRe.hs
         -- Other-Modules:          Paths_HaRe
-        GHC-Options:            -O0
+        GHC-Options:            -O0 -Wall
         -- GHC-Options:            -prof -fprof-auto -rtsopts -caf-all
         Hs-Source-Dirs:
           ./app
 
         -- GHC 7.10.2 ships with base 4.8.1.0
         Build-Depends:          base >= 4.8.1.0  && < 5
-                                , ghc-mod
+                                , ghc-mod == 5.8.0.*
                                 , gitrev >= 1.1
                                 , mtl
-                                , optparse-applicative
+                                , optparse-applicative == 0.13.2.*
                                 , optparse-simple
                                 , Cabal
                                 -- , Paths_HaRe
@@ -213,7 +213,7 @@
   ghc-options:
       -O0
       -- reinstate these later  -Wall
-      -- -Wall
+      -Wall
       -- reinstate these later  -Werror
       -- -fhpc
       -- -fhpc -hpcdir dist/hpc/app-1.0
@@ -270,8 +270,8 @@
     , directory
     , foldl
     , ghc
-    , ghc-exactprint == 0.5.3.*
-    , ghc-mod == 5.7.0.*
+    , ghc-exactprint >= 0.5.3.0
+    , ghc-mod == 5.8.0.*
     , ghc-syb-utils
     , hslogger
     , hspec
@@ -286,7 +286,7 @@
     , conversion-text
     , parsec
     , case-insensitive
-    , HaRe >= 0.8.2.1
+    , HaRe
   Extensions:      CPP
   if impl (ghc < 7.10.2)
     buildable: False
diff --git a/app/MainHaRe.hs b/app/MainHaRe.hs
--- a/app/MainHaRe.hs
+++ b/app/MainHaRe.hs
@@ -12,12 +12,10 @@
 import           Language.Haskell.Refact.API
 import           Language.Haskell.Refact.HaRe
 import           Options.Applicative.Simple
-import qualified Language.Haskell.GhcMod as GM
+import qualified GhcMod as GM
 import qualified Paths_HaRe as Meta
 
--- temporary until exposed by ghc-mod
--- import           Options
-import           Language.Haskell.GhcMod.Options.Options
+import           GhcMod.Options.Options
 
 main :: IO ()
 main = do
@@ -110,7 +108,7 @@
                 | RenameCmd      FilePath String Row Col
                 | AddOneParam    FilePath String Row Col
                 | RmOneParam     FilePath Row Col
-                | GenApplicative FilePath String Row Col
+                | GenApplicative FilePath Row Col
                 | DeleteDef      FilePath Row Col
                deriving Show
 
@@ -139,8 +137,8 @@
 runCmd (RmOneParam fileName r c) (opt, gOpt)
   = runFunc $ rmOneParameter opt gOpt fileName (r,c)
 
-runCmd (GenApplicative fileName funNm r c) (opt, gOpt)
-  = runFunc $ genApplicative opt gOpt fileName funNm (r,c)
+runCmd (GenApplicative fileName r c) (opt, gOpt)
+  = runFunc $ genApplicative opt gOpt fileName (r,c)
 
 runCmd (DeleteDef fileName r c) (opt, gOpt)
   = runFunc $ deleteDef opt gOpt fileName (r,c)
@@ -295,10 +293,6 @@
           ( metavar "FILE"
          <> help "Specify Haskell file to process"
           )
-      <*> strArgument
-            ( metavar "FUNNAME"
-           <> help "The name of the function to be refactored"
-            )
       <*> argument auto
             ( metavar "line"
            <> help "The line the definition is on")
diff --git a/src/Language/Haskell/Refact/HaRe.hs b/src/Language/Haskell/Refact/HaRe.hs
--- a/src/Language/Haskell/Refact/HaRe.hs
+++ b/src/Language/Haskell/Refact/HaRe.hs
@@ -41,4 +41,4 @@
 import Language.Haskell.Refact.Refactoring.RoundTrip
 import Language.Haskell.Refact.Utils.Monad
 import Language.Haskell.Refact.Utils.Types
-import qualified Language.Haskell.GhcMod as GM (Options(..),defaultOptions)
+import qualified GhcMod as GM (Options(..),defaultOptions)
diff --git a/src/Language/Haskell/Refact/Refactoring/AddRmParam.hs b/src/Language/Haskell/Refact/Refactoring/AddRmParam.hs
--- a/src/Language/Haskell/Refact/Refactoring/AddRmParam.hs
+++ b/src/Language/Haskell/Refact/Refactoring/AddRmParam.hs
@@ -12,8 +12,8 @@
 import qualified Name                  as GHC
 import qualified Outputable            as GHC
 
-import qualified Language.Haskell.GhcMod as GM
-import Language.Haskell.GhcMod.Internal  as GM
+import qualified GhcMod       as GM
+import qualified GhcMod.Types as GM
 import Language.Haskell.Refact.API
 
 import Language.Haskell.GHC.ExactPrint.Types
diff --git a/src/Language/Haskell/Refact/Refactoring/Case.hs b/src/Language/Haskell/Refact/Refactoring/Case.hs
--- a/src/Language/Haskell/Refact/Refactoring/Case.hs
+++ b/src/Language/Haskell/Refact/Refactoring/Case.hs
@@ -11,7 +11,7 @@
 import qualified BasicTypes    as GHC
 import qualified GHC           as GHC
 
-import qualified Language.Haskell.GhcMod as GM (Options(..))
+import qualified GhcMod as GM (Options(..))
 import Language.Haskell.Refact.API
 
 -- To be moved into HaRe API
diff --git a/src/Language/Haskell/Refact/Refactoring/DeleteDef.hs b/src/Language/Haskell/Refact/Refactoring/DeleteDef.hs
--- a/src/Language/Haskell/Refact/Refactoring/DeleteDef.hs
+++ b/src/Language/Haskell/Refact/Refactoring/DeleteDef.hs
@@ -9,11 +9,11 @@
 import qualified GHC
 import Control.Monad
 import Control.Monad.State
-import Language.Haskell.GhcMod
+import GhcMod
 import Language.Haskell.Refact.API
 import Data.Generics.Strafunski.StrategyLib.StrategyLib
-import qualified Language.Haskell.GhcMod as GM
-import qualified Language.Haskell.GhcMod.Internal as GM
+import qualified GhcMod       as GM
+import qualified GhcMod.Types as GM
 import System.Directory
 import Language.Haskell.GHC.ExactPrint
 import Language.Haskell.GHC.ExactPrint.Types
diff --git a/src/Language/Haskell/Refact/Refactoring/DupDef.hs b/src/Language/Haskell/Refact/Refactoring/DupDef.hs
--- a/src/Language/Haskell/Refact/Refactoring/DupDef.hs
+++ b/src/Language/Haskell/Refact/Refactoring/DupDef.hs
@@ -11,13 +11,13 @@
 import qualified GHC.SYB.Utils as SYB
 
 import qualified GHC
-import qualified RdrName               as GHC
+import qualified RdrName       as GHC
 
 import Data.List
 import Data.Maybe
 
-import qualified Language.Haskell.GhcMod as GM
-import Language.Haskell.GhcMod.Internal  as GM
+import qualified GhcMod       as GM
+import qualified GhcMod.Types as GM
 import Language.Haskell.Refact.API
 
 import Language.Haskell.GHC.ExactPrint.Types
diff --git a/src/Language/Haskell/Refact/Refactoring/GenApplicative.hs b/src/Language/Haskell/Refact/Refactoring/GenApplicative.hs
--- a/src/Language/Haskell/Refact/Refactoring/GenApplicative.hs
+++ b/src/Language/Haskell/Refact/Refactoring/GenApplicative.hs
@@ -4,7 +4,8 @@
   (genApplicative, compGenApplicative) where
 
 import Language.Haskell.Refact.API
-import qualified Language.Haskell.GhcMod as GM
+import qualified GhcMod       as GM
+import qualified GhcMod.Types as GM
 import qualified GHC as GHC
 import qualified RdrName as GHC
 import System.Directory
@@ -19,14 +20,14 @@
 import Language.Haskell.GHC.ExactPrint.Print
 import Language.Haskell.GHC.ExactPrint.Parsers
 
-genApplicative :: RefactSettings -> GM.Options -> FilePath -> String -> SimpPos -> IO [FilePath]
-genApplicative settings cradle fileName funNm pos = do
+genApplicative :: RefactSettings -> GM.Options -> FilePath -> SimpPos -> IO [FilePath]
+genApplicative settings cradle fileName pos = do
   absFileName <- canonicalizePath fileName
-  runRefacSession settings cradle (compGenApplicative absFileName funNm pos)
+  runRefacSession settings cradle (compGenApplicative absFileName pos)
 
-compGenApplicative :: FilePath -> String -> SimpPos -> RefactGhc [ApplyRefacResult]
-compGenApplicative fileName funNm pos = do
-  (refRes@((_fp,ismod),_), ()) <- applyRefac (doGenApplicative fileName funNm pos) (RSFile fileName)
+compGenApplicative :: FilePath -> SimpPos -> RefactGhc [ApplyRefacResult]
+compGenApplicative fileName pos = do
+  (refRes@((_fp,ismod),_), ()) <- applyRefac (doGenApplicative fileName pos) (RSFile fileName)
   case ismod of
     RefacUnmodifed -> error "Generalise to Applicative failed"
     RefacModified -> return ()
@@ -36,16 +37,19 @@
 -- to an (OpApp :: HsExpr)
 -- The function begins by constructing the beginning of the applicative chain by looking at the construction of the return statement
 
-doGenApplicative :: FilePath -> String -> SimpPos -> RefactGhc ()
-doGenApplicative fileName funNm pos = do
+doGenApplicative :: FilePath -> SimpPos -> RefactGhc ()
+doGenApplicative fileName pos = do
   parsed <- getRefactParsed
-  let Just funBind = getHsBind pos funNm parsed
-      (Just retRhs) = getReturnRhs funBind
-      (Just doStmts) = getDoStmts funBind
+  let funBind = case getHsBind pos parsed of
+                  (Just fb) -> fb
+                  Nothing -> error "That location is not the start of a function"
+      (retRhs, doStmts) = case (getReturnRhs funBind, getDoStmts funBind) of
+                            ((Just rets), (Just stmt)) -> (rets, stmt)
+                            _ -> error "The function needs to consist of set of do statements with a return value."
       boundVars = findBoundVars doStmts
   checkPreconditions retRhs doStmts boundVars
   appChain <- constructAppChain retRhs doStmts
-  replaceFunRhs funNm pos appChain
+  replaceFunRhs pos appChain
 
 
 checkPreconditions :: ParsedExpr -> [GHC.ExprLStmt GHC.RdrName] -> [GHC.RdrName] -> RefactGhc ()
@@ -87,8 +91,8 @@
 gContains :: (Data t, Eq a, Data a) => a -> t -> Bool
 gContains item t = SYB.everything (||) (False `SYB.mkQ` (\b -> item == b)) t
 
-replaceFunRhs :: String -> SimpPos -> ParsedLExpr -> RefactGhc ()
-replaceFunRhs funNm pos newRhs = do
+replaceFunRhs :: SimpPos -> ParsedLExpr -> RefactGhc ()
+replaceFunRhs pos newRhs = do
   parsed <- getRefactParsed
   let rdrNm = locToRdrName pos parsed
   case rdrNm of
diff --git a/src/Language/Haskell/Refact/Refactoring/MoveDef.hs b/src/Language/Haskell/Refact/Refactoring/MoveDef.hs
--- a/src/Language/Haskell/Refact/Refactoring/MoveDef.hs
+++ b/src/Language/Haskell/Refact/Refactoring/MoveDef.hs
@@ -31,7 +31,7 @@
 import Data.List
 import Data.Maybe
 
-import qualified Language.Haskell.GhcMod as GM
+import qualified GhcMod as GM
 import Language.Haskell.Refact.API
 
 import Language.Haskell.GHC.ExactPrint.Types
diff --git a/src/Language/Haskell/Refact/Refactoring/Renaming.hs b/src/Language/Haskell/Refact/Refactoring/Renaming.hs
--- a/src/Language/Haskell/Refact/Refactoring/Renaming.hs
+++ b/src/Language/Haskell/Refact/Refactoring/Renaming.hs
@@ -21,7 +21,7 @@
 import Language.Haskell.GHC.ExactPrint.Utils
 import Language.Haskell.Refact.API
 import System.Directory
-import qualified Language.Haskell.GhcMod as GM (Options(..))
+import qualified GhcMod as GM (Options(..))
 import qualified Data.Map as Map
 
 {-# ANN module "HLint: ignore Redunant do" #-}
diff --git a/src/Language/Haskell/Refact/Refactoring/RoundTrip.hs b/src/Language/Haskell/Refact/Refactoring/RoundTrip.hs
--- a/src/Language/Haskell/Refact/Refactoring/RoundTrip.hs
+++ b/src/Language/Haskell/Refact/Refactoring/RoundTrip.hs
@@ -1,6 +1,6 @@
 module Language.Haskell.Refact.Refactoring.RoundTrip(roundTrip) where
 
-import qualified Language.Haskell.GhcMod as GM (Options(..))
+import qualified GhcMod as GM (Options(..))
 import Language.Haskell.Refact.API
 
 import System.Directory
diff --git a/src/Language/Haskell/Refact/Refactoring/Simple.hs b/src/Language/Haskell/Refact/Refactoring/Simple.hs
--- a/src/Language/Haskell/Refact/Refactoring/Simple.hs
+++ b/src/Language/Haskell/Refact/Refactoring/Simple.hs
@@ -6,7 +6,7 @@
 
 import qualified GHC           as GHC
 
-import qualified Language.Haskell.GhcMod as GM (Options(..))
+import qualified GhcMod as GM (Options(..))
 import Language.Haskell.Refact.API
 
 -- To be moved into HaRe API
diff --git a/src/Language/Haskell/Refact/Refactoring/SwapArgs.hs b/src/Language/Haskell/Refact/Refactoring/SwapArgs.hs
--- a/src/Language/Haskell/Refact/Refactoring/SwapArgs.hs
+++ b/src/Language/Haskell/Refact/Refactoring/SwapArgs.hs
@@ -8,7 +8,7 @@
 import qualified Name                  as GHC
 import qualified GHC
 
-import qualified Language.Haskell.GhcMod as GM (Options(..))
+import qualified GhcMod as GM (Options(..))
 import Language.Haskell.Refact.API
 
 import Data.Generics.Schemes
diff --git a/src/Language/Haskell/Refact/Utils/Monad.hs b/src/Language/Haskell/Refact/Utils/Monad.hs
--- a/src/Language/Haskell/Refact/Utils/Monad.hs
+++ b/src/Language/Haskell/Refact/Utils/Monad.hs
@@ -49,10 +49,11 @@
 --import Data.Time.Clock
 import Distribution.Helper
 import Exception
-import qualified Language.Haskell.GhcMod             as GM
-import qualified Language.Haskell.GhcMod.Internal    as GM
-import qualified Language.Haskell.GhcMod.Monad.Out   as GM
-import qualified Language.Haskell.GhcMod.Monad.Types as GM
+import qualified GhcMod             as GM
+import qualified GhcMod.Monad.Out   as GM
+import qualified GhcMod.Monad.Types as GM
+import qualified GhcMod.Target      as GM
+import qualified GhcMod.Types       as GM
 import Language.Haskell.Refact.Utils.Types
 import Language.Haskell.GHC.ExactPrint
 import Language.Haskell.GHC.ExactPrint.Utils
diff --git a/src/Language/Haskell/Refact/Utils/Query.hs b/src/Language/Haskell/Refact/Utils/Query.hs
--- a/src/Language/Haskell/Refact/Utils/Query.hs
+++ b/src/Language/Haskell/Refact/Utils/Query.hs
@@ -25,8 +25,8 @@
           varPat _ = Nothing
 
 --Looks up the function binding at the given position. Returns nothing if the position does not contain a binding.
-getHsBind :: (Data a) => SimpPos -> String -> a -> Maybe (GHC.HsBind GHC.RdrName)
-getHsBind pos funNm a =
+getHsBind :: (Data a) => SimpPos -> a -> Maybe (GHC.HsBind GHC.RdrName)
+getHsBind pos a =
   let rdrNm = locToRdrName pos a in
   case rdrNm of
   Nothing -> Nothing
diff --git a/src/Language/Haskell/Refact/Utils/TypeUtils.hs b/src/Language/Haskell/Refact/Utils/TypeUtils.hs
--- a/src/Language/Haskell/Refact/Utils/TypeUtils.hs
+++ b/src/Language/Haskell/Refact/Utils/TypeUtils.hs
@@ -258,8 +258,8 @@
   -- So ignore the packagekey for now
   -- See https://github.com/DanielG/ghc-mod/issues/811
   -- TODO: revisit this
-  -- let eqModules (GHC.Module pk1 mn1) (GHC.Module pk2 mn2) = mn1 == mn2
-  let eqModules (GHC.Module pk1 mn1) (GHC.Module pk2 mn2) = mn1 == mn2 && pk1 == pk2
+  let eqModules (GHC.Module pk1 mn1) (GHC.Module pk2 mn2) = mn1 == mn2
+  -- let eqModules (GHC.Module pk1 mn1) (GHC.Module pk2 mn2) = mn1 == mn2 && pk1 == pk2
 
   gnames <- GHC.getNamesInScope
   -- logm $ "equivalentNameInNewMod:gnames=" ++ showGhcQual (map (\n -> (GHC.nameModule n,n)) gnames)
@@ -855,7 +855,8 @@
        impDecl <- mkImpDecl
        newSpan <- liftT uniqueSrcSpanT
        let newImp = GHC.L newSpan impDecl
-       liftT $ addSimpleAnnT newImp (DP (1,0)) [((G GHC.AnnImport),DP (0,0))]
+           qAnns = getQualAnns alias qualify
+       liftT $ addSimpleAnnT newImp (DP (1,0)) ([((G GHC.AnnImport),DP (0,0))]++qAnns)
        return (GHC.L l p { GHC.hsmodImports = (imp++[newImp])})
   where
 
@@ -869,7 +870,10 @@
        newEnts <- mkNewEntList idNames
        let lNewEnts = GHC.L newSpan2 newEnts
        -- logm $ "addImportDecl.mkImpDecl:adding anns for:" ++ showGhc lNewEnts
-       liftT $ addSimpleAnnT lNewEnts (DP (0,1)) [((G GHC.AnnHiding),DP (0,0)),((G GHC.AnnOpenP),DP (0,1)),((G GHC.AnnCloseP),DP (0,0))]
+           newEntsAnns = if hide
+             then [((G GHC.AnnHiding),DP (0,0)),((G GHC.AnnOpenP),DP (0,1)),((G GHC.AnnCloseP),DP (0,0))]
+             else [((G GHC.AnnOpenP),DP (0,0)),((G GHC.AnnCloseP),DP (0,0))]
+       liftT $ addSimpleAnnT lNewEnts (DP (0,1)) newEntsAnns
        let lmodname = GHC.L newSpan1 modName
        liftT $ addSimpleAnnT lmodname (DP (0,1)) [((G GHC.AnnVal),DP (0,0))]
        return $ GHC.ImportDecl
@@ -887,6 +891,10 @@
                                        else
                                             (Just (hide, lNewEnts)))
                         }
+     getQualAnns Nothing _ = []
+     getQualAnns (Just _) q = let cond = if q then [((G GHC.AnnQualified), DP (0,1))] else [] in
+         [((G GHC.AnnAs), DP (0,1)),((G GHC.AnnVal), (DP (0,1)))] ++ cond
+
 
 -- ---------------------------------------------------------------------
 
diff --git a/src/Language/Haskell/Refact/Utils/Utils.hs b/src/Language/Haskell/Refact/Utils/Utils.hs
--- a/src/Language/Haskell/Refact/Utils/Utils.hs
+++ b/src/Language/Haskell/Refact/Utils/Utils.hs
@@ -48,8 +48,9 @@
 import Language.Haskell.GHC.ExactPrint.Print
 import Language.Haskell.GHC.ExactPrint.Utils
 
-import qualified Language.Haskell.GhcMod          as GM
-import qualified Language.Haskell.GhcMod.Internal as GM
+import qualified GhcMod          as GM
+import qualified GhcMod.Target   as GM
+import qualified GhcMod.Types    as GM
 
 import Language.Haskell.Refact.Utils.GhcModuleGraph
 import Language.Haskell.Refact.Utils.GhcVersionSpecific
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -4,7 +4,7 @@
 module Main where
 
 import Control.Monad
-import TestUtils
+-- import TestUtils
 import qualified Turtle as Tu
 import qualified Control.Foldl as Fold
 
@@ -45,7 +45,7 @@
 resolver :: String
 resolver =
 #if __GLASGOW_HASKELL__ > 710
-  "resolver: nightly-2016-08-25"
+  "resolver: nightly-2017-05-23"
 #else
   "resolver: lts-6.13"
 #endif
diff --git a/test/TestUtils.hs b/test/TestUtils.hs
--- a/test/TestUtils.hs
+++ b/test/TestUtils.hs
@@ -53,8 +53,8 @@
 import Language.Haskell.GHC.ExactPrint.Parsers
 import Language.Haskell.GHC.ExactPrint.Types
 import Language.Haskell.GHC.ExactPrint.Utils
-import qualified Language.Haskell.GhcMod as GM
-import qualified Language.Haskell.GhcMod.Types as GM
+import qualified GhcMod       as GM
+import qualified GhcMod.Types as GM
 import Language.Haskell.Refact.Utils.Monad
 import Language.Haskell.Refact.Utils.MonadFunctions
 import Language.Haskell.Refact.Utils.Types
diff --git a/test/TypeUtilsSpec.hs b/test/TypeUtilsSpec.hs
--- a/test/TypeUtilsSpec.hs
+++ b/test/TypeUtilsSpec.hs
@@ -3666,6 +3666,44 @@
 
   -- ---------------------------------------
 
+    it "adds an import entry that only imports a single name" $ do
+      t <- ct $ parsedFileGhc "./TypeUtils/Empty.hs"
+      let
+        comp = do
+         renamed1 <- getRefactRenamed
+         parsed <- getRefactParsed
+         let listModName  = GHC.mkModuleName "Data.List"
+             rdr          = mkRdrName "head"
+         res  <- addImportDecl parsed listModName Nothing False False False Nothing False [rdr]
+         putRefactParsed res emptyAnns
+
+         return (res,renamed1)
+      ((_r,_r2),s) <- runRefactGhc comp (initialState { rsModule = initRefactModule [] t }) testOptions
+
+      (sourceFromState s) `shouldBe` "module Empty where\nimport Data.List (head)\n\n"
+
+
+  -- ---------------------------------------
+
+    it "adds a qualified import" $ do
+      t <- ct $ parsedFileGhc "./TypeUtils/Empty.hs"
+      let
+        comp = do
+         renamed1 <- getRefactRenamed
+         parsed <- getRefactParsed
+         let listModName  = GHC.mkModuleName "Data.List"
+             qual = Just "List"
+         res  <- addImportDecl parsed listModName Nothing False False True qual False []
+         putRefactParsed res emptyAnns
+
+         return (res,renamed1)
+      ((_r,_r2),s) <- runRefactGhc comp (initialState { rsModule = initRefactModule [] t }) testOptions
+
+      (sourceFromState s) `shouldBe` "module Empty where\nimport qualified Data.List as List\n\n"
+
+
+  -- ---------------------------------------
+
   describe "addItemsToImport" $ do
     it "adds an item to an import entry with no items" $ do
       t <- ct $ parsedFileGhc "./TypeUtils/JustImports.hs"
diff --git a/test/UtilsSpec.hs b/test/UtilsSpec.hs
--- a/test/UtilsSpec.hs
+++ b/test/UtilsSpec.hs
@@ -11,9 +11,8 @@
 import Control.Exception
 import Control.Monad.State
 import Data.List
-import Data.Maybe
 
-import qualified Language.Haskell.GhcMod.Internal as GM (mpModule)
+import qualified GhcMod.Types as GM (mpModule)
 
 import Language.Haskell.GHC.ExactPrint.Utils
 import Language.Haskell.Refact.Refactoring.Renaming
