diff --git a/src/Data/URLEncoded.hs b/src/Data/URLEncoded.hs
--- a/src/Data/URLEncoded.hs
+++ b/src/Data/URLEncoded.hs
@@ -38,7 +38,7 @@
 
 import qualified Prelude
 import Prelude hiding ( null, lookup, filter )
-import Data.List.Split ( unintercalate )
+import Data.List.Split ( splitOn )
 import Control.Monad ( liftM )
 import Control.Arrow ( (>>>) )
 import Control.Monad.Error ( MonadError )
@@ -168,7 +168,7 @@
 -- |Parse this string as x-www-urlencoded
 importString :: MonadError e m => String -> m URLEncoded
 importString "" = return empty
-importString s = liftM importList $ mapM parsePair $ unintercalate "&" s
+importString s = liftM importList $ mapM parsePair $ splitOn "&" s
     where parsePair p =
               case break (== '=') p of
                 (_, []) -> fail $ "Missing value in query string: " ++ show p
@@ -176,7 +176,7 @@
                                      , unesc v
                                      )
                 unknown -> error $ "impossible: " ++ show unknown
-          unesc = unEscapeString . intercalate "%20" . unintercalate "+"
+          unesc = unEscapeString . intercalate "%20" . splitOn "+"
 
 importURI :: MonadError e m => URI -> m URLEncoded
 importURI u = case uriQuery u of
diff --git a/urlencoded.cabal b/urlencoded.cabal
--- a/urlencoded.cabal
+++ b/urlencoded.cabal
@@ -1,6 +1,6 @@
 name:                urlencoded
 Cabal-Version:       >= 1.6
-version:             0.3.0.1
+version:             0.4.0
 synopsis:            Generate or process x-www-urlencoded data
 
 description:         Generate or process x-www-urlencoded data as it
@@ -21,7 +21,7 @@
   Default: False
 
 Library
-  build-depends:       base == 4.*, network >= 2.2 && < 4, mtl >= 1.1, split == 0.1.*
+  build-depends:       base == 4.*, network >= 2.2 && < 4, mtl >= 1.1, split == 0.2.*
   ghc-options:         -Wall
   hs-source-dirs:      src
   exposed-modules:     Data.URLEncoded
