diff --git a/Text/Regex/PCRE/ByteString/Utils.hs b/Text/Regex/PCRE/ByteString/Utils.hs
--- a/Text/Regex/PCRE/ByteString/Utils.hs
+++ b/Text/Regex/PCRE/ByteString/Utils.hs
@@ -19,6 +19,7 @@
 import qualified Data.Vector as V
 import Data.Attoparsec.ByteString.Char8 as A
 import Control.Applicative
+import Data.Char (digitToInt)
 
 {-| Substitutes values matched by a `Regex`. References can be used.
 
@@ -55,7 +56,7 @@
 split :: Regex  -- ^ The regular expression, taken from a call to `compile`
       -> BS.ByteString -- ^ The source string
       -> IO (Either String [BS.ByteString])
-split regexp srcstring = fmap (either Left (Right . removeEmptyLeft . regexpUnmatched . fst)) $ runErrorT (getMatches regexp srcstring V.empty)
+split regexp srcstring = either Left (Right . removeEmptyLeft . regexpUnmatched . fst) <$> runErrorT (getMatches regexp srcstring V.empty)
     where
         removeEmptyLeft = reverse . dropWhile BS.null . reverse
 
@@ -92,7 +93,7 @@
         Right (Just ("","",rm,_)) -> return (map (Unmatched . BS.singleton) (BS.unpack rm), curcaptures)
 
         Right (Just (before,current,remaining,captures)) -> do
-            (remain, nextcaptures) <- getMatches creg remaining (curcaptures V.++ (V.fromList captures))
+            (remain, nextcaptures) <- getMatches creg remaining (curcaptures V.++ V.fromList captures)
             return (Unmatched before : Matched current : remain, nextcaptures)
 
 
@@ -116,7 +117,7 @@
             n <- anyChar
             r <- rawData
             return $ BS.cons n r
-    fmap IndexedReplacement decimal <|> fmap (RawReplacement . BS.cons '\\') ac
+    fmap (IndexedReplacement . digitToInt) digit <|> fmap (RawReplacement . BS.cons '\\') ac
 
 -- | Compiles the regular expression (using default options) and `substitute`s
 substituteCompile :: BS.ByteString     -- ^ The regular expression
diff --git a/pcre-utils.cabal b/pcre-utils.cabal
--- a/pcre-utils.cabal
+++ b/pcre-utils.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                pcre-utils
-version:             0.1.0.2
+version:             0.1.1
 synopsis:            Perl-like substitute and split for PCRE regexps.
 description:         This package introduces split and replace like functions using PCRE regexps.
 license:             BSD3
@@ -25,7 +25,7 @@
   ghc-options:         -Wall
   ghc-prof-options:    -caf-all -auto-all
   extensions:          OverloadedStrings, BangPatterns
-  build-depends:       base ==4.6.*, regex-pcre-builtin, bytestring, attoparsec, mtl, vector
+  build-depends:       base >= 4.6 && < 4.8, regex-pcre-builtin, bytestring, attoparsec, mtl, vector
 
 Test-Suite test-split
     hs-source-dirs: test
