diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,7 @@
 Changelog
 =========
+    0.0.2  Mar 2020
+        * Expose better interface for package dependency when testing.
+
     0.0.1  Jan 2020
         * Initial version
diff --git a/run-haskell-module.cabal b/run-haskell-module.cabal
--- a/run-haskell-module.cabal
+++ b/run-haskell-module.cabal
@@ -4,13 +4,13 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 0d105f0142c4fbea46fc0f0bd6aaf9f891f5f4b75a748c0bc2d94e68f7ae8005
+-- hash: f1d389aa2f37dcbecf3a47435f8585ee46026dc6d891387ac3a677cad60acc6e
 
 name:                run-haskell-module
-version:             0.0.1
+version:             0.0.2
 synopsis:            Running newly generated Haskell source module.
-description:         To make sure freshly generated code runs,
-                     we need to make it run in Stack/Cabal/GHC environment.
+description:         Running generated test code in Stack/Cabal/GHC environment.
+                     .
 license:             BSD3
 license-file:        LICENSE
 stability:           beta
@@ -18,7 +18,7 @@
                      Dmitrii Krylov
 maintainer:          simons@cryp.to,
                      mjgajda@gmail.com
-copyright:           Copyright by Michal J. Gajda '2014-'2020
+copyright:           Copyright by Migamake '2014-'2020
 category:            Data, Tools
 build-type:          Simple
 extra-source-files:
diff --git a/src/Language/Haskell/RunHaskellModule.hs b/src/Language/Haskell/RunHaskellModule.hs
--- a/src/Language/Haskell/RunHaskellModule.hs
+++ b/src/Language/Haskell/RunHaskellModule.hs
@@ -16,6 +16,7 @@
 import           Control.Monad
 import           Data.Char
 import           Data.Default
+import           Data.Semigroup((<>))
 import           System.Environment
 import           System.Exit
 import           System.FilePath.Posix
@@ -24,16 +25,18 @@
 
 
 data RunOptions = RunOptions
-        { verbose     :: Bool
-        , showStdout  :: Bool
-        , compileArgs :: [String]
+        { verbose            :: Bool
+        , showStdout         :: Bool
+        , compileArgs        :: [String]
+        , additionalPackages :: [String]
         }
 
 
 instance Default RunOptions where
-    def = RunOptions { verbose     = False
-                     , showStdout  = False
-                     , compileArgs = []
+    def = RunOptions { verbose            = False
+                     , showStdout         = False
+                     , compileArgs        = []
+                     , additionalPackages = []
                      }
 
 
@@ -52,7 +55,7 @@
             whenMaybe hClose pstderr
             return ExitSuccess
         ExitFailure r -> do
-            whenMaybe (dumpHandle stdout) pstdout
+            whenMaybe (dumpHandle stderr) pstdout
             whenMaybe (dumpHandle stderr) pstderr
             fail $ concat ["Running \"", cmd, "\" \"", show args, "\" has failed with \"", show r, "\""]
   where
@@ -112,12 +115,15 @@
     stack    <- lookupEnv "STACK_EXE"
     oldCabal <- lookupEnv "CABAL_SANDBOX_CONFIG"
     newCabal <- lookupEnv "HASKELL_DIST_DIR"
-    additionalFlags    <- (maybe [] splitWithQuotes)                      <$> lookupEnv "CI_GHC_ADDITIONAL_FLAGS"
-    additionalPackages <- ((additionalPackagesDef ++) . (maybe [] words)) <$> lookupEnv "CI_GHC_ADDITIONAL_PACKAGES"
-    cabalStyle         <- (maybe "v2" id)                                 <$> lookupEnv "CI_GHC_CABAL_STYLE"
+    additionalFlags        <- (maybe [] splitWithQuotes)                    <$> lookupEnv "CI_GHC_ADDITIONAL_FLAGS"
+    additionalPackagesList <- ((additionalPackages ++) . (maybe [] words))  <$> lookupEnv "CI_GHC_ADDITIONAL_PACKAGES"
+    cabalStyle             <- (maybe "v2" id)                               <$> lookupEnv "CI_GHC_CABAL_STYLE"
     let cabalExec = cabalStyle ++ "-exec"
-    let additionalPackagesArgs = map mkAdditionalPackagesArg additionalPackages
-    let res@(exe, exeArgs') | Just stackExec <- stack    = (stackExec, additionalFlags ++ [tool, "--"])
+    let additionalPackagesArgs = map mkAdditionalPackagesArg additionalPackagesList
+
+    let res@(exe, exeArgs') | Just stackExec <- stack    = (stackExec, [tool] ++ additionalFlags
+                                                                   ++ (stackPackageArg <$> additionalPackagesList)
+                                                                   ++ ["--"])
                             | Just _         <- oldCabal = ("cabal", ["exec", tool, "--"])
                             | Just _         <- newCabal = ("cabal", [cabalExec, tool, "--"] ++ additionalPackagesArgs)
                             | otherwise                  = (tool, [])
@@ -130,10 +136,10 @@
     tool = case ghcTool of
                Runner   -> "runghc"
                Compiler -> "ghc"
+    stackPackageArg arg = "--package=" ++ arg
     mkAdditionalPackagesArg arg = case ghcTool of
-               Runner   -> "--ghc-arg=-package " ++ arg
-               Compiler ->           "-package " ++ arg
-    additionalPackagesDef = []
+               Runner   -> "--ghc-arg=-package=" ++ arg
+               Compiler ->           "-package=" ++ arg
 
 
 passModuleToGhc :: RunOptions -> GhcTool -> FilePath -> [String] -> IO ExitCode
