diff --git a/sgd.cabal b/sgd.cabal
--- a/sgd.cabal
+++ b/sgd.cabal
@@ -1,5 +1,5 @@
 name:               sgd
-version:            0.3.2
+version:            0.3.3
 synopsis:           Stochastic gradient descent
 description:
     Implementation of a Stochastic Gradient Descent optimization method.
@@ -24,20 +24,20 @@
     hs-source-dirs: src
 
     build-depends:
-        base >= 4 && < 5
-      , containers
-      , vector
-      , random
-      , primitive
-      , logfloat
-      , monad-par
-      , deepseq
-      , binary
-      , bytestring
-      , mtl
-      , filepath
-      , temporary
-      , lazy-io
+        base            >= 4        && < 5
+      , containers      >= 0.4      && < 0.5
+      , vector          >= 0.10     && < 0.11
+      , random          >= 1.0      && < 1.1
+      , primitive       >= 0.5      && < 0.6
+      , logfloat        >= 0.12     && < 0.13
+      , monad-par       >= 0.3.4    && < 0.4
+      , deepseq         >= 1.3      && < 1.4
+      , binary          >= 0.5      && < 0.6
+      , bytestring      >= 0.9      && < 0.11
+      , mtl             >= 2.1      && < 2.2
+      , filepath        >= 1.3      && < 1.4
+      , temporary       >= 1.1      && < 1.2
+      , lazy-io         >= 0.1      && < 0.2
 
     exposed-modules:
         Numeric.SGD
diff --git a/src/Numeric/SGD/Grad.hs b/src/Numeric/SGD/Grad.hs
--- a/src/Numeric/SGD/Grad.hs
+++ b/src/Numeric/SGD/Grad.hs
@@ -25,12 +25,12 @@
 
 import Data.List (foldl')
 import Control.Applicative ((<$>), (<*>))
-import Control.Monad.Par.Scheds.Direct (Par, runPar, get)
+import Control.Monad.Par (Par, runPar, get)
 #if MIN_VERSION_containers(0,4,2)
-import Control.Monad.Par.Scheds.Direct (spawn)
+import Control.Monad.Par (spawn)
 #else
 import Control.DeepSeq (deepseq)
-import Control.Monad.Par.Scheds.Direct (spawn_)
+import Control.Monad.Par (spawn_)
 #endif
 import qualified Data.IntMap as M
 
