diff --git a/CV.cabal b/CV.cabal
--- a/CV.cabal
+++ b/CV.cabal
@@ -1,5 +1,5 @@
 Name:				 CV
-Version:             0.3.5.2
+Version:             0.3.5.3
 Description:         OpenCV Bindings
 License:             GPL
 License-file:        LICENSE
@@ -87,8 +87,8 @@
 
     Build-Depends:     base >= 4 && < 6,
                        parallel > 3.1,
-                       unix > 2.3,
                        array >= 0.2.0.0,
+                       directory >= 1 && < 2,
                        mtl >= 1.1.0,
                        random >= 1.0.0,
                        carray >= 0.1.5,
diff --git a/CV/Image.chs b/CV/Image.chs
--- a/CV/Image.chs
+++ b/CV/Image.chs
@@ -95,8 +95,8 @@
 , CvException
 ) where
 
-import System.Posix.Files
 import System.Mem
+import System.Directory
 
 import Foreign.C.Types
 import Foreign.C.String
@@ -259,7 +259,7 @@
 --   polymorphic enough to cause run time errors if the declared and actual types of the
 --   images do not match. Use with care.
 unsafeloadUsing x p n = do
-              exists <- fileExist n
+              exists <- doesFileExist n
               if not exists then return Nothing
                             else do
                               i <- withCString n $ \name ->
diff --git a/CV/Matrix.hs b/CV/Matrix.hs
--- a/CV/Matrix.hs
+++ b/CV/Matrix.hs
@@ -10,7 +10,6 @@
 
 {-#OPTIONS_GHC -fwarn-unused-imports#-}
 
-import System.Posix.Files
 import System.Mem
 
 import Foreign.C.Types
