diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -392,3 +392,8 @@
 * Fourty-second version. Changed Double to Float in the modules where possible to reduce redundancy and to open access to new possibilities. The shift is inspired 
 by: https://www.youtube.com/watch?v=FYTZkE5BZ-0
 Some minor code and documentation improvements.
+
+## 0.43.0.0 -- 2020-08-16
+
+* Fourty-third version. Added a new dependecy uniqueness-periods with more efficient calculations of the uniquenessPeriods function. Changed the dependencies boundaries. 
+
diff --git a/DobutokO/Sound/Uniq.hs b/DobutokO/Sound/Uniq.hs
--- a/DobutokO/Sound/Uniq.hs
+++ b/DobutokO/Sound/Uniq.hs
@@ -80,13 +80,13 @@
 import qualified Data.Vector as V
 import System.Process
 import EndOfExe (showE)
-import MMSyn7s
+import String.Ukrainian.UniquenessPeriods
 import DobutokO.Sound.Functional.Basics
 import DobutokO.Sound.Functional.Params
 import DobutokO.Sound.DIS5G6G
 
 -- | For the given frequency of the note it generates a 'V.Vector' of the tuples, each one of which contains the harmonics' frequency and amplitude. For every given
--- 'String' structure of the uniqueness (see the documentation for @mmsyn7s@ package and its 'MMSyn7.Syllable' module) it produces the unique timbre.
+-- 'String' structure of the uniqueness (see the documentation for @mmsyn7s@ and @uniqueness-periods@ packages) it produces the unique timbre.
 uniqOvertonesV :: Float -> String -> OvertonesO
 uniqOvertonesV note xs =
   let ys = uniquenessPeriods xs
@@ -98,7 +98,7 @@
           V.zip (V.generate z2 (\i -> note * fromIntegral (i + 1))) $ v2
 
 -- | For the given frequency of the note it generates a 'V.Vector' of the tuples, each one of which contains the harmonics' frequency and amplitude. For every given
--- first 'String' argument structure of the uniqueness (see the documentation for @mmsyn7s@ package and its 'MMSyn7.Syllable' module) it produces the unique timbre.
+-- first 'String' argument structure of the uniqueness (see the documentation for @mmsyn7s@ and @uniqueness-periods@ packages) it produces the unique timbre.
 -- The second 'String' is used to produce the signs for harmonics coefficients.
 uniqOvertonesV2 :: Float -> String -> String -> OvertonesO
 uniqOvertonesV2 note xs ts = 
diff --git a/dobutokO2.cabal b/dobutokO2.cabal
--- a/dobutokO2.cabal
+++ b/dobutokO2.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                dobutokO2
-version:             0.42.0.0
+version:             0.43.0.0
 synopsis:            Helps to create experimental music from a file (or its part) and a Ukrainian text.
 description:         It can also generate a timbre for the notes. Uses SoX inside.
 homepage:            https://hackage.haskell.org/package/dobutokO2
@@ -20,15 +20,15 @@
   exposed-modules:     Main, DobutokO.Sound.Overtones, DobutokO.Sound.Uniq, DobutokO.Sound.Functional, DobutokO.Sound.Process, DobutokO.Sound.Executable, DobutokO.Sound.IntermediateF, DobutokO.Sound.ParseList, DobutokO.Sound.Keyboard, DobutokO.Sound.Functional.Basics, DobutokO.Sound.Functional.Params, DobutokO.Sound.Functional.Split, DobutokO.Sound.DIS5G6G, DobutokO.Sound.Functional.Elements, DobutokO.Sound.Decibel, DobutokO.Sound.Extended, DobutokO.Sound.Octaves, DobutokO.Sound.FunctionF
   -- other-modules:
   -- other-extensions:
-  build-depends:       base >=4.7 && <4.15, bytestring >= 0.10.6 && <1, vector >=0.11 && <0.14, process >=1.4 && <1.9, mmsyn3 >=0.1.5 && <1, mmsyn7s >=0.7 && <1, directory >=1.2.7 && <1.7, mmsyn7ukr >=0.16 && <1, mmsyn2 >=0.1.8 && <1, mmsyn6ukr >=0.7.2 && <1, mmsyn7l >=0.7 && <1
+  build-depends:       base >=4.7 && <4.15, bytestring >= 0.10.6 && <1, vector >=0.11 && <0.14, process >=1.4 && <1.9, mmsyn3 >=0.1.5 && <1, mmsyn7s >=0.8 && <1, directory >=1.2.7 && <1.7, mmsyn7ukr >=0.17 && <1, mmsyn2 >=0.1.8 && <1, mmsyn6ukr >=0.8 && <1, mmsyn7l >=0.8 && <1, uniqueness-periods >=0.1 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
 
 executable dobutokO2
   main-is:             Main.hs
-  -- other-modules:
+  other-modules:       DobutokO.Sound.Overtones, DobutokO.Sound.Uniq, DobutokO.Sound.Functional, DobutokO.Sound.Process, DobutokO.Sound.Executable, DobutokO.Sound.IntermediateF, DobutokO.Sound.ParseList, DobutokO.Sound.Keyboard, DobutokO.Sound.Functional.Basics, DobutokO.Sound.Functional.Params, DobutokO.Sound.Functional.Split, DobutokO.Sound.DIS5G6G, DobutokO.Sound.Functional.Elements, DobutokO.Sound.Decibel, DobutokO.Sound.Extended, DobutokO.Sound.Octaves, DobutokO.Sound.FunctionF
   -- other-extensions:
-  build-depends:       base >=4.7 && <4.15, bytestring >= 0.10.6 && <1, vector >=0.11 && <0.14, process >=1.4 && <1.9, mmsyn3 >=0.1.5 && <1, mmsyn7s >=0.7 && <1, directory >=1.2.7 && <1.7, mmsyn7ukr >=0.16 && <1, mmsyn2 >=0.1.8 && <1, mmsyn6ukr >=0.7.2 && <1, mmsyn7l >=0.7 && <1
+  build-depends:       base >=4.7 && <4.15, bytestring >= 0.10.6 && <1, vector >=0.11 && <0.14, process >=1.4 && <1.9, mmsyn3 >=0.1.5 && <1, mmsyn7s >=0.8 && <1, directory >=1.2.7 && <1.7, mmsyn7ukr >=0.17 && <1, mmsyn2 >=0.1.8 && <1, mmsyn6ukr >=0.8 && <1, mmsyn7l >=0.8 && <1, uniqueness-periods >=0.1 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
 
