diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -36,3 +36,9 @@
 ## 0.2.2.0 -- 2021-10-30
 
 * Second version revised C. Added new functions to work with lists and arrays to the Case.Hashable.Cuckoo module.
+
+## 0.3.0.0 -- 2021-10-31
+
+* Third version. The hashing functionality with its dependencies moved to a new 
+package mmsyn2-hashable. 
+
diff --git a/Case/Hashable/Cuckoo.hs b/Case/Hashable/Cuckoo.hs
deleted file mode 100644
--- a/Case/Hashable/Cuckoo.hs
+++ /dev/null
@@ -1,71 +0,0 @@
--- |
--- Module      :  Case.Hashable.Cuckoo
--- Copyright   :  (c) OleksandrZhabenko 2021
--- License     :  MIT
--- Stability   :  Experimental
--- Maintainer  :  olexandr543@yahoo.com
---
--- A library that can be used as a @case ... of@ constuction analogue for the Hashable keys.
--- For the large lists is expected to be more time efficient than CaseBi.Arr.getBFst' analogue.
--- If you plan to use it together with the former one, please, use qualified import to avoid names ambiguity.
-
-
-{-# LANGUAGE MagicHash, UnboxedTuples #-}
-
-module Case.Hashable.Cuckoo where
-
-import qualified Data.HashTable.ST.Cuckoo as C
-import qualified Data.HashTable.Class as H (fromList, fromListWithSizeHint)
-import GHC.ST
-import GHC.Magic (runRW# )
-import Data.Maybe (fromMaybe)
-import Data.Hashable (Hashable(..))
-import GHC.Arr
-
-getBFstL' :: (Eq k, Hashable k) => v -> [(k, v)] -> k -> v
-getBFstL' def pairs key = fromMaybe def .
-  (\(ST st_rep) -> case runRW# st_rep of (# _, a #) -> a) . -- Actually is rewritten from the GHC.ST.runST to remove the forall constraint
-    lookup2 pairs $ key
-{-# INLINE getBFstL' #-}
-
-lookup2 pairs key = H.fromList pairs >>= \ht -> C.lookup ht key
-{-# INLINE lookup2 #-}
-
-lookup2Sized n pairs key = H.fromListWithSizeHint n pairs >>= \ht -> C.lookup ht key
-{-# INLINE lookup2Sized #-}
-
-lookupL pairs keys = H.fromList pairs >>= \ht -> mapM (C.lookup ht) keys
-{-# INLINE lookupL #-}
-
-lookupLSized n pairs keys = H.fromListWithSizeHint n pairs >>= \ht -> mapM (C.lookup ht) keys
-{-# INLINE lookupLSized #-}
-
-getBFstLL' :: (Eq k, Hashable k) => b -> [(k, b)] -> [k] -> [b]
-getBFstLL' def pairs keys =
- (\(ST st_rep) -> case runRW# st_rep of (# _, a #) -> map (\x -> case x of { Just y -> y; ~rr -> def }) a)
-   (lookupL pairs keys)
-{-# INLINE getBFstLL' #-}
-
-getBFstLArr' :: (Hashable k, Ix i, Eq k) => b -> [(k, b)] -> Array i k -> Array i b
-getBFstLArr' def pairs keysArr =
- (\(ST st_rep) -> case runRW# st_rep of (# _, a #) -> amap (\x -> case x of { Just y -> y; ~rr -> def }) a)
-   (lookupL pairs keysArr)
-{-# INLINE getBFstLArr' #-}
-
-getBFstLSized' :: (Eq k, Hashable k) => Int -> v -> [(k, v)] -> k -> v
-getBFstLSized' n def pairs key = fromMaybe def .
-  (\(ST st_rep) -> case runRW# st_rep of (# _, a #) -> a) . -- Actually is rewritten from the GHC.ST.runST to remove the forall constraint
-    lookup2Sized n pairs $ key
-{-# INLINE getBFstLSized' #-}
-
-getBFstLLSized' :: (Eq k, Hashable k) => Int -> b -> [(k, b)] -> [k] -> [b]
-getBFstLLSized' n def pairs keys =
- (\(ST st_rep) -> case runRW# st_rep of (# _, a #) -> map (\x -> case x of { Just y -> y; ~rr -> def }) a)
-   (lookupLSized n pairs keys)
-{-# INLINE getBFstLLSized' #-}
-
-getBFstLArrSized' :: (Hashable k, Ix i, Eq k) => Int -> b -> [(k, b)] -> Array i k -> Array i b
-getBFstLArrSized' n def pairs keysArr =
- (\(ST st_rep) -> case runRW# st_rep of (# _, a #) -> amap (\x -> case x of { Just y -> y; ~rr -> def }) a)
-   (lookupLSized n pairs keysArr)
-{-# INLINE getBFstLArrSized' #-}
diff --git a/mmsyn2-array.cabal b/mmsyn2-array.cabal
--- a/mmsyn2-array.cabal
+++ b/mmsyn2-array.cabal
@@ -2,9 +2,9 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                mmsyn2-array
-version:             0.2.2.0
+version:             0.3.0.0
 synopsis:            A library that can be used for multiple Ord a => a -> b transformations.
-description:         A library that can be used as a @case ... of@ construction replacement for various cases. Since the 0.2.0.0 version also uses the cuckoo hashtables in the respective module.
+description:         A library that can be used as a @case ... of@ construction replacement for various cases. Since the 0.2.0.0 version also uses the cuckoo hashtables in the respective module. Since the 0.3.0.0 version the hashing functionality moved to the separate package mmsyn2-hashable.
 homepage:            https://hackage.haskell.org/package/mmsyn2-array
 license:             MIT
 license-file:        LICENSE
@@ -17,10 +17,10 @@
 cabal-version:       >=1.10
 
 library
-  exposed-modules:     CaseBi.Arr, Case.Hashable.Cuckoo
+  exposed-modules:     CaseBi.Arr
   -- other-modules:
   other-extensions:    UnboxedTuples, BangPatterns, FlexibleContexts, MagicHash
   ghc-options:         -funbox-strict-fields
-  build-depends:       base >=4.9 && <5, hashtables >=1.2.3 && <2, hashable >= 1.2.7 && <2, ghc-prim >=0.5 && <1
+  build-depends:       base >=4.7 && <5
   -- hs-source-dirs:
   default-language:    Haskell2010
