diff --git a/haskoin-store.cabal b/haskoin-store.cabal
--- a/haskoin-store.cabal
+++ b/haskoin-store.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           haskoin-store
-version:        1.5.0
+version:        1.5.1
 synopsis:       Storage and index for Bitcoin and Bitcoin Cash
 description:    Please see the README on GitHub at <https://github.com/haskoin/haskoin-store#readme>
 category:       Bitcoin, Finance, Network
@@ -90,7 +90,7 @@
       Paths_haskoin_store
   hs-source-dirs:
       app
-  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
+  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts "-with-rtsopts=-N --nonmoving-gc"
   build-depends:
       aeson >=1.4.7.1
     , aeson-pretty >=0.8.8
@@ -148,7 +148,7 @@
       Paths_haskoin_store
   hs-source-dirs:
       test
-  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
+  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts "-with-rtsopts=-N --nonmoving-gc"
   build-depends:
       QuickCheck >=2.13.2
     , aeson >=1.4.7.1
diff --git a/src/Haskoin/Store.hs b/src/Haskoin/Store.hs
--- a/src/Haskoin/Store.hs
+++ b/src/Haskoin/Store.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DuplicateRecordFields #-}
 module Haskoin.Store
   ( Store (..),
     StoreConfig (..),
diff --git a/src/Haskoin/Store/Database/Reader.hs b/src/Haskoin/Store/Database/Reader.hs
--- a/src/Haskoin/Store/Database/Reader.hs
+++ b/src/Haskoin/Store/Database/Reader.hs
@@ -151,14 +151,14 @@
 
 columnFamilyConfig :: [(String, Config)]
 columnFamilyConfig =
-  [ ("addr-tx", def {prefixLength = Just 22}),
-    ("addr-out", def {prefixLength = Just 22}),
-    ("tx", def {prefixLength = Just 33}),
-    ("spender", def {prefixLength = Just 33}), -- unused
-    ("unspent", def {prefixLength = Just 37}),
-    ("block", def {prefixLength = Just 33}),
-    ("height", def {prefixLength = Nothing}),
-    ("balance", def {prefixLength = Just 22})
+  [ ("addr-tx", def {prefixLength = Just 22, bloomFilter = True}),
+    ("addr-out", def {prefixLength = Just 22, bloomFilter = True}),
+    ("tx", def {prefixLength = Just 33, bloomFilter = True}),
+    ("spender", def {prefixLength = Just 33, bloomFilter = True}), -- unused
+    ("unspent", def {prefixLength = Just 37, bloomFilter = True}),
+    ("block", def {prefixLength = Just 33, bloomFilter = True}),
+    ("height", def {prefixLength = Nothing, bloomFilter = True}),
+    ("balance", def {prefixLength = Just 22, bloomFilter = True})
   ]
 
 addrTxCF :: DB -> ColumnFamily
diff --git a/src/Haskoin/Store/Web.hs b/src/Haskoin/Store/Web.hs
--- a/src/Haskoin/Store/Web.hs
+++ b/src/Haskoin/Store/Web.hs
@@ -1447,7 +1447,7 @@
 getBinfoAddrsParam name = do
   net <- askl (.config.store.net)
   ctx <- askl (.config.store.ctx)
-  p <- param (TL.fromStrict name) `rescue` return ""
+  p <- param name `rescue` return ""
   if T.null p
     then return HashSet.empty
     else case parseBinfoAddr net ctx p of
@@ -1654,7 +1654,7 @@
     Nothing -> raise ThingNotFound
     Just a -> return a
 
-getBinfoAddr :: (MonadUnliftIO m) => TL.Text -> ActionT m BinfoAddr
+getBinfoAddr :: (MonadUnliftIO m) => Text -> ActionT m BinfoAddr
 getBinfoAddr param' = do
   txt <- S.captureParam param'
   net <- askl (.config.store.net)
@@ -1926,7 +1926,7 @@
       let f = map (.balance.address)
        in HashSet.fromList . concatMap f . HashMap.elems
 
-getBinfoCount :: (MonadUnliftIO m) => TL.Text -> ActionT m Int
+getBinfoCount :: (MonadUnliftIO m) => Text -> ActionT m Int
 getBinfoCount str = do
   d <- askl (.config.limits.defItemCount)
   x <- askl (.config.limits.maxFullItemCount)
@@ -2597,8 +2597,8 @@
     Nothing -> return Nothing -- Parameter was not supplied
     Just ts -> maybe (raise err) (return . Just) (parseParam net ctx ts)
   where
-    label = TL.fromStrict (proxyLabel (Proxy :: Proxy a))
-    err = UserError $ "Unable to parse param " <> TL.unpack label
+    label = proxyLabel (Proxy :: Proxy a)
+    err = UserError $ "Unable to parse param " <> T.unpack label
 
 -- | Raises an exception if the parameter is not supplied
 paramRequired :: forall a m. (Param a, MonadUnliftIO m) => ActionT m a
@@ -2621,7 +2621,7 @@
   p <- S.captureParam label `rescue` S.next
   maybe S.next return (parseParam net ctx p)
   where
-    label = TL.fromStrict (proxyLabel (Proxy :: Proxy a))
+    label = proxyLabel (Proxy :: Proxy a)
 
 parseBody :: (MonadIO m, Serial a) => ActionT m a
 parseBody = do
@@ -2746,11 +2746,11 @@
   S.ActionT m a ->
   S.ActionT m a ->
   S.ActionT m a
-x `rescue` y = x `S.rescue` \S.StatusError {} -> y
+x `rescue` y = x `S.catch` \(_ :: S.ScottyException) -> y
 
 param ::
   (MonadUnliftIO m, S.Parsable a) =>
-  TL.Text ->
+  Text ->
   S.ActionT m a
 param t = S.queryParam t `rescue` S.formParam t
 
