diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,3 +31,9 @@
 ## 0.1.7.0 -- 2020-10-28
 
 * First version revised G. Fixed some issues with empty ByteString in the Melodics.ByteString.Ukrainian module.
+
+## 0.1.8.0 -- 2020-11-05
+
+* First version revised H. Fixed issues with classification functions inside the Melodics.ByteString.Ukrainian module. Changed the dependencies boundaries to 
+use the latest improved versions of the packages.
+
diff --git a/Melodics/ByteString/Ukrainian.hs b/Melodics/ByteString/Ukrainian.hs
--- a/Melodics/ByteString/Ukrainian.hs
+++ b/Melodics/ByteString/Ukrainian.hs
@@ -163,13 +163,16 @@
 
 
 isVoicedObstruent :: B.ByteString -> Bool
-isVoicedObstruent = X.getBFst' (False, VB.fromList [("A",True),("B",True),("b",True),("d",True),("g",True),("h",True),("j",True),("z", True)]) . B.take 1
+isVoicedObstruent = X.getBFst' (False, VB.fromList [("A",True),("B",True),("Q",True),("R",True),("T",True),("b",True),("d",True),("g",True),("h",True),
+  ("j",True),("z", True)]) . B.take 1
 
 isSoftDOrL :: [(Char, Triple)] -> Bool
-isSoftDOrL = X.getBFst' (False, VB.fromList . zip ["bq","cq","dq","fq","lq","mq","nq","pq","sq","tq","vq"] $ (repeat True)) . takeFromFT_ 2
+isSoftDOrL xs = X.getBFst' (False, VB.fromList . zip ["bq","cq","dq","fq","lq","mq","nq","pq","sq","tq","vq"] $ (repeat True)) (takeFromFT_ 2 xs) ||
+  X.getBFst' (False, VB.fromList . zip ["P","Q","R","S","T"] . repeat $ True) (takeFromFT_ 1 xs)
 
 isSoftDen :: [(Char, Triple)] -> Bool
-isSoftDen = X.getBFst' (False, VB.fromList . zip ["Aq","cq","dq","lq","nq","sq","tq","zq"] $ (repeat True)) . takeFromFT_ 2
+isSoftDen xs = X.getBFst' (False, VB.fromList . zip ["Aq","cq","dq","lq","nq","sq","tq","zq"] $ (repeat True)) (takeFromFT_ 2 xs) ||
+  X.getBFst' (False, VB.fromList . zip ["P","Q","R","S","T"] . repeat $ True) (takeFromFT_ 1 xs)
 
 -- in the further ??T functions the last (, T) means that it must be afterwards be separated with the soft sign into two tuples (1 additional function in the composition)
 -- need further processing means that there should be additional checks and may be transformations. May be they can be omitted
diff --git a/ukrainian-phonetics-basic.cabal b/ukrainian-phonetics-basic.cabal
--- a/ukrainian-phonetics-basic.cabal
+++ b/ukrainian-phonetics-basic.cabal
@@ -2,7 +2,7 @@
 -- further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                ukrainian-phonetics-basic
-version:             0.1.7.0
+version:             0.1.8.0
 synopsis:            A library to work with the basic Ukrainian phonetics and syllable segmentation.
 description:         A library to work with the basic Ukrainian phonetics and syllable segmentation. Rewritten from the mmsyn6ukr and mmsyn7s packages.
 homepage:            https://hackage.haskell.org/package/ukrainian-phonetics-basic
@@ -20,6 +20,6 @@
   exposed-modules:     Languages.Phonetic.Ukrainian.Syllable, Melodics.ByteString.Ukrainian
   -- other-modules:
   other-extensions:    DeriveDataTypeable, FlexibleInstances, OverloadedStrings
-  build-depends:       base >=4.7 && <4.15, vector >=0.11 && <0.14, mmsyn2 >=0.2 && <1, bytestring >=0.10 && <0.13, mmsyn5 >=0.4.4 && <1
+  build-depends:       base >=4.7 && <4.15, vector >=0.11 && <0.14, mmsyn2 >=0.3 && <1, bytestring >=0.10 && <0.13, mmsyn5 >=0.5 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
