diff --git a/GhciHaskeline/GhciMonad.hs b/GhciHaskeline/GhciMonad.hs
--- a/GhciHaskeline/GhciMonad.hs
+++ b/GhciHaskeline/GhciMonad.hs
@@ -309,10 +309,15 @@
                                         return GHC.RunFailed) $ do
           GHC.runStmt expr step
 
+#if NEWER_GHC
+resume :: (GHC.SrcSpan -> Bool) -> GHC.SingleStep -> GHCi GHC.RunResult
+resume pred step = withVirtualPath$ do
+  GHC.resume pred step
+#else
 resume :: GHC.SingleStep -> GHCi GHC.RunResult
 resume step = withVirtualPath$ do
   GHC.resume step
-
+#endif
 
 -- --------------------------------------------------------------------------
 -- timing & statistics
diff --git a/GhciHaskeline/InteractiveUI.hs b/GhciHaskeline/InteractiveUI.hs
--- a/GhciHaskeline/InteractiveUI.hs
+++ b/GhciHaskeline/InteractiveUI.hs
@@ -653,7 +653,11 @@
                st <- getGHCiState
                enqueueCommands [stop st]
                return ()
+#if NEWER_GHC
+         | otherwise -> resume step_here GHC.SingleStep >>=
+#else
          | otherwise -> resume GHC.SingleStep >>=
+#endif
                         afterRunStmt step_here >> return ()
      _ -> return ()
 
@@ -1582,7 +1586,6 @@
                         completion <- lookupCompletion cmd
                         completion line
     "import"    -> completeModule line
-                -- TODO: complete filename if inside quotations
     _           -> completeExpression line
   where
     (firstWord,rest) = break isSpace $ dropWhile isSpace $ reverse left
@@ -1610,7 +1613,9 @@
 completeModule = wrapIdentCompleter $ \w -> do
   dflags <- GHC.getSessionDynFlags
   let pkg_mods = allExposedModules dflags
-  return (filter (w `isPrefixOf`) (map (showSDoc.ppr) pkg_mods))
+  loaded_mods <- liftM (map GHC.ms_mod_name) getLoadedModules
+  return $ filter (w `isPrefixOf`)
+        $ map (showSDoc.ppr) $ loaded_mods ++ pkg_mods
 
 completeHomeModule = wrapIdentCompleter listHomeModules
 
@@ -1807,7 +1812,11 @@
 -- doContinue :: SingleStep -> GHCi ()
 doContinue :: (SrcSpan -> Bool) -> SingleStep -> GHCi ()
 doContinue pred step = do 
+#if NEWER_GHC
+  runResult <- resume pred step
+#else
   runResult <- resume step
+#endif
   afterRunStmt pred runResult
   return ()
 
diff --git a/ghci-haskeline.cabal b/ghci-haskeline.cabal
--- a/ghci-haskeline.cabal
+++ b/ghci-haskeline.cabal
@@ -1,5 +1,5 @@
 Name: ghci-haskeline
-Version: 0.1
+Version: 0.1.1
 Copyright: BSD3
 License: BSD3
 License-File: LICENSE
@@ -16,14 +16,16 @@
              the maintainer rather than of the GHC team.
 Homepage: http://code.haskell.org/~judah/ghci-haskeline
 
+flag newer-ghc
+    Description: for GHC >= 6.10.2
+
 Executable ghci-haskeline
     Main-Is: Main.hs
     Other-modules:  GhciHaskeline.GhciMonad
                     GhciHaskeline.InteractiveUI
                     GhciHaskeline.GhciTags
 
-    Build-Depends: ghc        == 6.10.*,
-                   base       >=4 && < 5,
+    Build-Depends: base       >=4 && < 5,
                    array      >= 0.1 && < 0.3,
                    bytestring >= 0.9 && < 0.10,
                    directory  >= 1   && < 1.1,
@@ -35,6 +37,13 @@
         Build-Depends: Win32
     else
         Build-Depends: unix
+
+    if flag(newer-ghc)
+        Build-Depends: ghc>=6.10.2 && < 6.11
+        cpp-options: -DNEWER_GHC
+    else
+        Build-Depends: ghc>=6.9 && < 6.10.2
+
     Build-Depends: ghc-paths
     cpp-Options: -DGHCI
     ghc-options: -threaded
