diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# Changes
+
+## 0.1.8
+
+Removed shell-conduit dependency as it causes lots of problems
+
 ## 0.1.7
 
 Unstable version for testing
diff --git a/postgres-embedded.cabal b/postgres-embedded.cabal
--- a/postgres-embedded.cabal
+++ b/postgres-embedded.cabal
@@ -1,7 +1,8 @@
 name:                postgres-embedded
-version:             0.1.7
-description:         Library for easily running embedded PostgreSQL server for tests
-synopsis:            Library for easily running embedded PostgreSQL server for tests
+version:             0.1.8
+description:         Library for easily running embedded PostgreSQL server for tests. 
+                     It downloads, runs, checks and stops PostgreSQL Database instance for you.
+synopsis:            Library for easily running embedded PostgreSQL server for tests.
 homepage:            https://github.com/ilya-murzinov/postgres-embedded
 bug-reports:         https://github.com/ilya-murzinov/postgres-embedded/issues
 license:             MIT
@@ -13,7 +14,7 @@
 build-type:          Simple
 extra-doc-files:     README.md
                      CHANGELOG.md
-cabal-version:       >=1.18
+cabal-version:       >= 1.18
 tested-with:         GHC==8.2.1, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4
 
 source-repository head
@@ -29,8 +30,8 @@
   build-depends:       base >= 4 && < 5
                      , directory
                      , filepath
-                     , shell-conduit
                      , network
+                     , process
   ghc-options:         -Wall
   default-language:    Haskell2010
 
@@ -43,6 +44,6 @@
                      , filepath
                      , postgres-embedded
                      , postgresql-simple
-                     , shell-conduit
+                     , process
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
   default-language:    Haskell2010
diff --git a/src/Database/PostgreSQL/Embedded/Download.hs b/src/Database/PostgreSQL/Embedded/Download.hs
--- a/src/Database/PostgreSQL/Embedded/Download.hs
+++ b/src/Database/PostgreSQL/Embedded/Download.hs
@@ -2,9 +2,10 @@
     ( downloadPostgres
     ) where
 
-import           Data.Conduit.Shell                 (cd, run, tar, unzip', wget)
+import           System.Process                     (rawSystem)
 import           Data.Monoid                        ((<>))
-import           System.Directory                   (createDirectoryIfMissing,
+import           System.Directory                   (setCurrentDirectory,
+                                                     createDirectoryIfMissing,
                                                      doesDirectoryExist,
                                                      getHomeDirectory)
 import           System.FilePath.Posix              ((</>))
@@ -27,19 +28,15 @@
     exists <- doesDirectoryExist dist
     case exists of
         True -> return dist
-        False -> run $ do
-            cd workdir
-
+        False -> do
+            setCurrentDirectory workdir
             let (aType, suffix) = binaries os_
-
-            wget "-O" tmp $ base_download_url <> v <> suffix
-
-            case aType of
-                Zip -> unzip' "-q" tmp
-                Tar -> tar "-xzf" tmp
-
+            _ <- rawSystem "wget" ["-O", tmp, base_download_url <> v <> suffix]
+            _ <- case aType of
+                Zip -> rawSystem "unzip" ["-q", tmp]
+                Tar -> rawSystem "tar" ["-xzf", tmp]
             return dist
-
+            
             where
                 binaries :: Os -> (ArchiveType, String)
                 binaries OSX   = (Zip, "-osx-binaries.zip")
diff --git a/src/Database/PostgreSQL/Embedded/Postgres.hs b/src/Database/PostgreSQL/Embedded/Postgres.hs
--- a/src/Database/PostgreSQL/Embedded/Postgres.hs
+++ b/src/Database/PostgreSQL/Embedded/Postgres.hs
@@ -5,7 +5,7 @@
     ) where
 
 import           Control.Exception                     (SomeException, try)
-import           Data.Conduit.Shell                    (rm, run, shell)
+import           System.Process                        (system)
 import           Data.List                             (isInfixOf)
 import           Data.Monoid                           ((<>))
 import           System.Directory                      (doesDirectoryExist)
@@ -26,14 +26,14 @@
     e <- downloadPostgres getOS version_
     let d = e </> "data"
     exists <- doesDirectoryExist d
-    if exists && not сlean then do
+    _ <- if exists && not сlean then do
         putStrLn $ "Directory " <> d <> " must not exist"
         exitFailure
-    else run $ rm "-rf" d
+    else system $ "rm" <> " -rf " <> d
 
-    run $ do
-        shell $ e </> "bin" </> "initdb" <> " -A trust -U " <> u <> " -D " <> d <> " -E UTF-8"
-        shell $ e </> "bin" </> "pg_ctl" <> " -D " <> d <> " -o \"-F -p " <>
+    _ <- do
+        _ <- system $ e </> "bin" </> "initdb" <> " -A trust -U " <> u <> " -D " <> d <> " -E UTF-8"
+        system $ e </> "bin" </> "pg_ctl" <> " -w " <> " -D " <> d <> " -o \"-F -p " <>
             show p <> "\"" <> " -l " <> (e </> "log") <> " start"
 
     let r = RuntimeConfig e d
@@ -52,16 +52,16 @@
 Doesn't remove data directory.
 -}
 stopPostgres :: RuntimeConfig -> IO ()
-stopPostgres (RuntimeConfig e d) = run $
-        shell $ e </> "bin" </> "pg_ctl" <> " -D " <> d <> " stop" <>
-                " -m fast -t 5 -w"
+stopPostgres (RuntimeConfig e d) = do
+        _ <- system $ e </> "bin" </> "pg_ctl" <> " -D " <> d <> " stop" <> " -m fast -t 5 -w"
+        return ()
 
 checkPostgresStarted :: RuntimeConfig -> DBConfig -> IO ()
 checkPostgresStarted (RuntimeConfig e _) (DBConfig p _) = checkPostgresStarted_ 10 >>= \_ -> return ()
     where
         checkPostgresStarted_ :: Int -> IO Bool
         checkPostgresStarted_ n = do
-            let check = run $ shell (e </> "bin" </> "pg_isready" <> " -p " <> show p <> " -h localhost") >>= \_ -> return True
+            let check = system (e </> "bin" </> "pg_isready" <> " -p " <> show p <> " -h localhost") >>= \_ -> return True
 
             res <- try check :: IO (Either SomeException Bool)
             let retry = if n > 0 then checkPostgresStarted_ (n - 1)
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,10 +1,10 @@
 import           Data.ByteString.Char8        (pack)
-import           Data.Conduit.Shell           (rm, run)
 import           Data.Monoid                  ((<>))
 import           Data.String                  (fromString)
 import           Database.PostgreSQL.Simple   (Only (..), connectPostgreSQL,
                                                query_)
 import           System.FilePath.Posix        ((</>))
+import           System.Process               (system)
 
 import           Database.PostgreSQL.Embedded
 
@@ -13,7 +13,7 @@
     let sConfig = StartupConfig True (Version "9.6.5-1")
     let dConfig = DBConfig 46782 "postgres"
 
-    run $ rm "-rf" $ "~/.postgres-embedded/" </> "9.6.5-1"
+    system $ "rm" <> " -rf " <> ("~/.postgres-embedded/" </> "9.6.5-1")
 
     -- Start Postgres downloading distribution
     rc <- startPostgres sConfig dConfig
