diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,76 @@
+validate-input
+=====
+
+[![Build Status](https://travis-ci.org/agrafix/validate-input.svg)](https://travis-ci.org/agrafix/validate-input)
+[![Hackage](https://img.shields.io/hackage/v/validate-input.svg)](http://hackage.haskell.org/package/validate-input)
+
+## Intro
+
+Hackage: [validate-input](http://hackage.haskell.org/package/validate-input)
+Stackage: [validate-input](https://www.stackage.org/package/validate-input)
+
+Input validation combinator library
+
+
+## Library Usage Example
+
+```haskell
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE QuasiQuotes #-}
+import Data.Validator
+import qualified Data.Text as T
+
+data Example
+   = Example
+   { ex_username :: T.Text
+   , ex_dogs :: Int
+   } deriving (Show)
+
+main :: IO ()
+main =
+    do putStrLn "Check results:"
+       print example
+
+checkUsername :: Monad m => ValidationRuleT String m T.Text
+checkUsername =
+    lengthBetween 3 12 "Should between 3 and 12 chars"
+    >=> matchesRegex [re|^[A-za-z0-9]+$|] "only alpha num"
+
+checkNumber :: Monad m => ValidationRuleT String m Int
+checkNumber =
+    smallerThan 5 "No more than 5 dogs allowed"
+
+checkExample :: Monad m => ValidationRuleT String m Example
+checkExample e =
+    Example <$> checkUsername (ex_username e)
+            <*> checkNumber (ex_dogs e)
+
+example :: Either String Example
+example =
+    runValidator checkExample $
+    Example
+    { ex_username = "alex"
+    , ex_dogs = 23
+    }
+
+```
+
+## Install
+
+* Using cabal: `cabal install validate-input`
+* Using Stack: `stack install validate-input`
+* From Source (cabal): `git clone https://github.com/agrafix/validate-input.git && cd validate-input && cabal install`
+* From Source (stack): `git clone https://github.com/agrafix/validate-input.git && cd validate-input && stack build`
+
+
+## Misc
+
+### Supported GHC Versions
+
+* 7.8.4
+* 7.10.2
+
+### License
+
+Released under the MIT license.
+(c) 2015 Alexander Thiemann
diff --git a/src/Data/Validator.hs b/src/Data/Validator.hs
--- a/src/Data/Validator.hs
+++ b/src/Data/Validator.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE OverloadedStrings #-}
 module Data.Validator
@@ -13,7 +14,7 @@
     , matchesRegex
     , conformsPred, conformsPredM
       -- * Helper classes and types
-    , HasLength(..), Stringable(..)
+    , HasLength(..), ConvertibleStrings(..)
     , Int64
       -- * Regular expression helpers
     , re, mkRegexQQ, Regex
@@ -26,7 +27,7 @@
 import Control.Monad.Trans
 import Control.Monad.Trans.Either
 import Data.Int
-import Data.Stringable hiding (length)
+import Data.String.Conversions
 import Text.Regex.PCRE.Heavy
 import qualified Data.Text as T
 import qualified Data.Text.Lazy as TL
@@ -136,6 +137,6 @@
 {-# INLINE conformsPredM #-}
 
 -- | Checks that a value matches a regular expression
-matchesRegex :: (Stringable a, Monad m) => Regex -> e -> ValidationRuleT e m a
+matchesRegex :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS, Monad m) => Regex -> e -> ValidationRuleT e m a
 matchesRegex r = conformsPred (=~ r)
 {-# INLINE matchesRegex #-}
diff --git a/validate-input.cabal b/validate-input.cabal
--- a/validate-input.cabal
+++ b/validate-input.cabal
@@ -1,5 +1,5 @@
 name:                validate-input
-version:             0.2.0.0
+version:             0.3.0.0
 synopsis:            Input validation combinator library
 description:         A small Haskell combinator library that provides a simple way of
                      validating user provided data structures.
@@ -14,11 +14,14 @@
 build-type:          Simple
 cabal-version:       >=1.10
 tested-with:
-    GHC == 7.8.3
+    GHC == 7.8.4, GHC == 7.10.2
 
+extra-source-files:
+    README.md
+
 source-repository head
   type: git
-  location: git://github.com/agrafix/validate-input.git
+  location: https://github.com/agrafix/validate-input
 
 library
   exposed-modules:     Data.Validator
@@ -27,8 +30,8 @@
                        bytestring >=0.10,
                        either >=4.3,
                        mtl >=2.1,
-                       pcre-heavy >=0.2,
-                       stringable >=0.1,
+                       pcre-heavy >=1.0,
+                       string-conversions >=0.4,
                        text >=1.2
   hs-source-dirs:      src
   default-language:    Haskell2010
