diff --git a/edit-distance.cabal b/edit-distance.cabal
--- a/edit-distance.cabal
+++ b/edit-distance.cabal
@@ -1,5 +1,5 @@
 Name:                edit-distance
-Version:             0.1.1
+Version:             0.1.2
 Cabal-Version:       >= 1.2
 Category:            Algorithms
 Synopsis:            Levenshtein and restricted Damerau-Levenshtein edit distances
@@ -34,7 +34,7 @@
                                 Text.EditDistance.MonadUtilities
         
         if flag(splitBase)
-                Build-Depends:  base >= 3, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
+                Build-Depends:  base >= 3 && < 5, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
         else
                 Build-Depends:  base < 3
         
@@ -43,30 +43,30 @@
 Executable edit-distance-tests
         Main-Is:                Text/EditDistance/Tests.hs
         
-        Build-Depends:          test-framework >= 0.1.1, QuickCheck >= 1.1
-        if flag(splitBase)
-                Build-Depends:  base >= 3, array >= 0.1, random >= 1.0
-        else
-                Build-Depends:  base < 3
-        
         Extensions:             PatternGuards, PatternSignatures,
                                 ScopedTypeVariables
         Ghc-Options:            -O2 -fvia-C -Wall -fno-warn-orphans
         
         if !flag(tests)
                 Buildable:      False
+        else            
+                Build-Depends:          test-framework >= 0.1.1, QuickCheck >= 1.1, test-framework-quickcheck
+                if flag(splitBase)
+                        Build-Depends:  base >= 3 && < 5, array >= 0.1, random >= 1.0
+                else
+                        Build-Depends:  base < 3
 
 Executable edit-distance-benchmark
         Main-Is:                Text/EditDistance/Benchmark.hs
         
-        if flag(splitBase)
-                Build-Depends:  base >= 3, array >= 0.1, random >= 1.0, old-time >= 1.0, process >= 1.0,
-                                parallel >= 1.0, unix >= 2.3
-        else
-                Build-Depends:  base < 3,
-                                parallel >= 1.0, unix >= 2.3
-        
-        Ghc-Options:            -O2 -fvia-C -Wall
-        
         if !flag(benchmark)
                 Buildable:      False
+        else
+                if flag(splitBase)
+                        Build-Depends:  base >= 3 && < 5, array >= 0.1, random >= 1.0, old-time >= 1.0, process >= 1.0,
+                                        parallel >= 1.0, unix >= 2.3
+                else
+                        Build-Depends:  base < 3,
+                                        parallel >= 1.0, unix >= 2.3
+            
+        Ghc-Options:            -O2 -fvia-C -Wall
