diff --git a/bson-mapping.cabal b/bson-mapping.cabal
--- a/bson-mapping.cabal
+++ b/bson-mapping.cabal
@@ -1,5 +1,5 @@
 Name:               bson-mapping
-Version:            0.1.4.1
+Version:            0.1.5.0
 License:            OtherLicense
 License-File:       LICENSE
 Author:             Francesco Mazzoli <f@mazzo.li>
@@ -21,8 +21,8 @@
   Build-Depends:      base >= 4 && < 5,
                       template-haskell >= 2.5,
                       th-lift >= 0.5.3,
-                      bson >= 0.1.3,
-                      compact-string-fix >= 0.3.1
+                      bson >= 0.2,
+                      text >= 1.1
 
   hs-source-dirs:     src
 
diff --git a/src/Data/Bson/Mapping.hs b/src/Data/Bson/Mapping.hs
--- a/src/Data/Bson/Mapping.hs
+++ b/src/Data/Bson/Mapping.hs
@@ -47,7 +47,7 @@
 
 import Data.Bson
 import Data.Data               (Typeable)
-import Data.CompactString.UTF8 (append, cons)
+import Data.Text (append, cons)
 
 import Language.Haskell.TH
 import Language.Haskell.TH.Lift ()
@@ -194,14 +194,14 @@
     genStmts [] _ = return ([], [])
     genStmts (f : fs) doc = do
       fvar <- newName "f"
-      let stmt = bindS (varP fvar) $ [| lookup (u (nameBase f)) $doc |]
+      let stmt = bindS (varP fvar) $ [| lookup (nameBase f) $doc |]
       (fields, stmts) <- genStmts fs doc
       return $ (return (f, VarE fvar) : fields, stmt : stmts)
 
 
-dataField, consField :: UString
-dataField = u "_data"
-consField = u "_cons"
+dataField, consField :: String
+dataField = "_data"
+consField = "_cons"
 
 {-|
 
@@ -236,7 +236,7 @@
 subDocument lab doc = [append lab (cons '.' l) := v | (l := v) <- doc]
 
 getLabel :: Name -> Q Exp
-getLabel n = [| u (nameBase n) |]
+getLabel n = [| (nameBase n) |]
 
 {-|
 
