diff --git a/hw-json-standard-cursor.cabal b/hw-json-standard-cursor.cabal
--- a/hw-json-standard-cursor.cabal
+++ b/hw-json-standard-cursor.cabal
@@ -1,7 +1,7 @@
 cabal-version:  2.2
 
 name:           hw-json-standard-cursor
-version:        0.1.1.0
+version:        0.2.0.0
 synopsis:       Memory efficient JSON parser
 description:    Memory efficient JSON parser. Please see README.md
 category:       Data
diff --git a/src/HaskellWorks/Data/Json/Standard/Cursor/Fast.hs b/src/HaskellWorks/Data/Json/Standard/Cursor/Fast.hs
--- a/src/HaskellWorks/Data/Json/Standard/Cursor/Fast.hs
+++ b/src/HaskellWorks/Data/Json/Standard/Cursor/Fast.hs
@@ -10,7 +10,7 @@
 import Foreign.ForeignPtr
 import HaskellWorks.Data.Json.Standard.Cursor.Generic
 import HaskellWorks.Data.Json.Standard.Cursor.Specific
-import HaskellWorks.Data.RankSelect.CsPoppy
+import HaskellWorks.Data.RankSelect.CsPoppy1
 
 import qualified Data.ByteString                                      as BS
 import qualified Data.ByteString.Char8                                as BSC
@@ -24,7 +24,7 @@
 instance SpecificCursor Fast where
   type CursorOf Fast = Cursor
 
-type Cursor = GenericCursor BS.ByteString CsPoppy (RM.RangeMin CsPoppy)
+type Cursor = GenericCursor BS.ByteString CsPoppy1 (RM.RangeMin CsPoppy1)
 
 fromByteString :: BS.ByteString -> Cursor
 fromByteString bs = GenericCursor
@@ -33,7 +33,7 @@
   , balancedParens  = RM.mkRangeMin (makeCsPoppy bp)
   , cursorRank      = 1
   }
-  where J.IbBp ib bp = J.toIbBp bs
+  where J.IbBp ib bp = J.slowToIbBp bs
 
 fromForeignRegion :: F.ForeignRegion -> Cursor
 fromForeignRegion (fptr, offset, size) = fromByteString (BSI.fromForeignPtr (castForeignPtr fptr) offset size)
diff --git a/src/HaskellWorks/Data/Json/Standard/Cursor/Internal/IbBp.hs b/src/HaskellWorks/Data/Json/Standard/Cursor/Internal/IbBp.hs
--- a/src/HaskellWorks/Data/Json/Standard/Cursor/Internal/IbBp.hs
+++ b/src/HaskellWorks/Data/Json/Standard/Cursor/Internal/IbBp.hs
@@ -13,12 +13,9 @@
   , bp :: DVS.Vector Word64
   }
 
-class ToIbBp a where
-  toIbBp :: a -> IbBp
-
-instance ToIbBp BS.ByteString where
-  toIbBp bs = IbBp
-    { ib = J.toInterestBits64 blankedJson
-    , bp = J.toBalancedParens64 blankedJson
-    }
-    where blankedJson = J.toBlankedJsonTyped bs
+slowToIbBp :: BS.ByteString -> IbBp
+slowToIbBp bs = IbBp
+  { ib = J.toInterestBits64 blankedJson
+  , bp = J.toBalancedParens64 blankedJson
+  }
+  where blankedJson = J.toBlankedJsonTyped bs
diff --git a/src/HaskellWorks/Data/Json/Standard/Cursor/Load/Cursor.hs b/src/HaskellWorks/Data/Json/Standard/Cursor/Load/Cursor.hs
--- a/src/HaskellWorks/Data/Json/Standard/Cursor/Load/Cursor.hs
+++ b/src/HaskellWorks/Data/Json/Standard/Cursor/Load/Cursor.hs
@@ -11,7 +11,7 @@
 import HaskellWorks.Data.BalancedParens.Simple
 import HaskellWorks.Data.Json.Standard.Cursor.Generic
 import HaskellWorks.Data.Json.Standard.Cursor.Load.Raw
-import HaskellWorks.Data.RankSelect.CsPoppy
+import HaskellWorks.Data.RankSelect.CsPoppy1
 
 import qualified Data.ByteString.Internal                    as BSI
 import qualified Data.Vector.Storable                        as DVS
@@ -30,15 +30,15 @@
   let cursor = GenericCursor jsonBS jsonIb (SimpleBalancedParens jsonBp) 1
   return cursor
 
-loadCursorWithCsPoppyIndex :: String -> IO (GenericCursor BSI.ByteString CsPoppy (SimpleBalancedParens (DVS.Vector Word64)))
+loadCursorWithCsPoppyIndex :: String -> IO (GenericCursor BSI.ByteString CsPoppy1 (SimpleBalancedParens (DVS.Vector Word64)))
 loadCursorWithCsPoppyIndex filename = do
   (jsonBS, jsonIb, jsonBp) <- loadRawWithIndex filename
   let cursor = GenericCursor jsonBS (makeCsPoppy jsonIb) (SimpleBalancedParens jsonBp) 1
   return cursor
 
-loadCursorWithCsPoppyIndex2 :: String -> IO (GenericCursor BSI.ByteString CsPoppy (SimpleBalancedParens CsPoppy))
+loadCursorWithCsPoppyIndex2 :: String -> IO (GenericCursor BSI.ByteString CsPoppy1 (SimpleBalancedParens CsPoppy1))
 loadCursorWithCsPoppyIndex2 filename = do
   (jsonBS, jsonIb, jsonBp) <- loadRawWithIndex filename
   let cursor = GenericCursor jsonBS (makeCsPoppy jsonIb) (SimpleBalancedParens (makeCsPoppy jsonBp)) 1
-                :: GenericCursor BSI.ByteString CsPoppy (SimpleBalancedParens CsPoppy)
+                :: GenericCursor BSI.ByteString CsPoppy1 (SimpleBalancedParens CsPoppy1)
   return cursor
diff --git a/src/HaskellWorks/Data/Json/Standard/Cursor/Slow.hs b/src/HaskellWorks/Data/Json/Standard/Cursor/Slow.hs
--- a/src/HaskellWorks/Data/Json/Standard/Cursor/Slow.hs
+++ b/src/HaskellWorks/Data/Json/Standard/Cursor/Slow.hs
@@ -34,7 +34,7 @@
     , balancedParens  = BP.SimpleBalancedParens bp
     , cursorRank      = 1
     }
-    where J.IbBp ib bp = J.toIbBp bs
+    where J.IbBp ib bp = J.slowToIbBp bs
 
 fromForeignRegion :: F.ForeignRegion -> Cursor
 fromForeignRegion (fptr, offset, size) = fromByteString (BSI.fromForeignPtr (castForeignPtr fptr) offset size)
diff --git a/test/HaskellWorks/Data/Json/Standard/Cursor/TypeSpec.hs b/test/HaskellWorks/Data/Json/Standard/Cursor/TypeSpec.hs
--- a/test/HaskellWorks/Data/Json/Standard/Cursor/TypeSpec.hs
+++ b/test/HaskellWorks/Data/Json/Standard/Cursor/TypeSpec.hs
@@ -38,7 +38,7 @@
 spec :: Spec
 spec = describe "HaskellWorks.Data.Json.Succinct.CursorSpec" $ do
   genSpec "DVS.Vector Word64" SLOW.fromString
-  genSpec "CsPoppy"           FAST.fromString
+  genSpec "CsPoppy1"          FAST.fromString
 
 genSpec :: forall t u.
   ( Eq                t
diff --git a/test/HaskellWorks/Data/Json/Standard/CursorSpec.hs b/test/HaskellWorks/Data/Json/Standard/CursorSpec.hs
--- a/test/HaskellWorks/Data/Json/Standard/CursorSpec.hs
+++ b/test/HaskellWorks/Data/Json/Standard/CursorSpec.hs
@@ -24,4 +24,4 @@
 spec :: Spec
 spec = describe "HaskellWorks.Data.Json.Succinct.CursorSpec" $ do
   genTest "DVS.Vector Word64" SLOW.fromString
-  genTest "CsPoppy"           FAST.fromString
+  genTest "CsPoppy1"          FAST.fromString
