diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,3 +8,9 @@
 ## 0.1.1.0 -- 2022-02-19
 
 * First version revised A. Updated the dependencies. No code revision is made.
+
+## 0.2.0.0 -- 2022-08-17
+
+* Second version. Removed the bytestring as a dependency. Updated the dependencies boundaries to support the newer 
+GHC-9* series.
+
diff --git a/Composition/Sound/Complex.hs b/Composition/Sound/Complex.hs
--- a/Composition/Sound/Complex.hs
+++ b/Composition/Sound/Complex.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  Composition.Sound.Complex
--- Copyright   :  (c) OleksandrZhabenko 2020-2021
+-- Copyright   :  (c) OleksandrZhabenko 2020-2022
 -- License     :  MIT
 -- Stability   :  Experimental
 -- Maintainer  :  olexandr543@yahoo.com
@@ -41,7 +41,7 @@
 import System.Process
 import EndOfExe
 import System.Directory
-import GHC.Int (Int64)
+--import GHC.Int (Int64)
 import Composition.Sound.Keyboard
 import Composition.Sound.Functional.Params
 import Composition.Sound.Functional.Basics
@@ -53,7 +53,7 @@
 {-# INLINE testSoundGen2G #-}
 
 -- | Tesing variant of the 'soundGen3GMN' with predefined last functional arguments.
-testSoundGen2GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> IO ()
+testSoundGen2GMN :: Int -> Int -> FilePath -> Float -> String -> IO ()
 testSoundGen2GMN m n1 file y zs = do
   vecA0 <- fmap (map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print
   let n = length vecA0
@@ -84,9 +84,9 @@
 {-# INLINE soundGen3G #-}
 
 -- | Generates a sequence of sounds with changing timbre. Uses several functions as parameters. To specify how many sounds the resulting files 
--- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
+-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
 -- is a number of produced sounds (and, respectively, number of taken elements).
-soundGen3GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) 
+soundGen3GMN :: Int -> Int -> FilePath -> Float -> String -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) 
   -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
 soundGen3GMN m n1 file y zs gAdd gRem f0 = do
   vecA0 <- fmap (map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print
@@ -131,9 +131,9 @@
 {-# INLINE soundGen3G_OPar #-}
 
 -- | Generates a sequence of sounds with changing timbre. Uses several functions as parameters. To specify how many sounds the resulting files 
--- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
+-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
 -- is a number of produced sounds (and, respectively, number of taken elements).
-soundGen3G_OMN :: Int64 -> Int64 -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) 
+soundGen3G_OMN :: Int -> Int -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) 
   -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> 
     (Float -> OvertonesO) -> IO ()
 soundGen3G_OMN m1 n1 m ku freq1 file y zs gAdds gRems freq0 proj f0 = do
@@ -159,7 +159,7 @@
 
 -- | Generalized version of the 'soundGen3G_OMN' where 'liftInParams' is used instead of lifting with the 'liftInEnku'. This allows e. g. to 
 -- use some tonality. For more information, please, refer to 'filterInParams'.
-soundGen3G_OMNPar :: Int64 -> Int64 -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) 
+soundGen3G_OMNPar :: Int -> Int -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) 
   -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> 
     (Float -> OvertonesO) -> IO ()
 soundGen3G_OMNPar m1 n1 params freq1 file y zs gAdds gRems freq0 proj f0 = do
@@ -223,9 +223,9 @@
 {-# INLINE soundGen3G_O2Par #-}
 
 -- | Generates a sequence of sounds with changing timbre. Is a generalized version of the 'soundGen3G_O2'. To specify how many sounds the resulting files 
--- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
+-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
 -- is a number of produced sounds (and, respectively, number of taken elements).
-soundGen3G_O2MN :: Int64 -> Int64 -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> 
+soundGen3G_O2MN :: Int -> Int -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> 
   [(Float,Float -> OvertonesO)]) -> Int -> Int -> Float -> FilePath -> Float -> String -> 
     (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> 
       (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
@@ -245,7 +245,7 @@
 
 -- | Generalized version of the 'soundGen3G_O2MN' where 'liftInParams' is used instead of lifting with the 'liftInEnku'. This allows e. g. to 
 -- use some tonality. For more information, please, refer to 'filterInParams'.
-soundGen3G_O2MNPar :: Int64 -> Int64 -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> [(Float,Float -> OvertonesO)]) -> Params -> Float -> FilePath -> Float -> String -> 
+soundGen3G_O2MNPar :: Int -> Int -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> [(Float,Float -> OvertonesO)]) -> Params -> Float -> FilePath -> Float -> String -> 
     (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> 
       (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
 soundGen3G_O2MNPar m1 n1 conversionFII params freq1 file y zs gAdds gRems freq0 proj f0 = do
@@ -285,9 +285,9 @@
 {-# INLINE soundGen3G_O2GPar #-}
 
 -- | Generates a sequence of sounds with changing timbre. Is a generalized version of the 'soundGen3G_O2G'. To specify how many sounds the resulting files 
--- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
+-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one 
 -- is a number of produced sounds (and, respectively, number of taken elements).
-soundGen3G_O2GMN :: Int64 -> Int64 -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] -> 
+soundGen3G_O2GMN :: Int -> Int -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] -> 
   [(Float,Float -> OvertonesO)]) -> [(Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] -> 
     Int -> Int -> Float -> FilePath -> Float -> String -> IO ()
 soundGen3G_O2GMN m1 n1 conversionFII vf vfA vfR m ku freq1 file y zs = do
@@ -303,7 +303,7 @@
 
 -- | Generalized version of the 'soundGen3G_O2GMN' where 'liftInParams' is used instead of lifting with the 'liftInEnku'. This allows e. g. to 
 -- use some tonality. For more information, please, refer to 'filterInParams'.
-soundGen3G_O2GMNPar :: Int64 -> Int64 -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] -> 
+soundGen3G_O2GMNPar :: Int -> Int -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] -> 
   [(Float,Float -> OvertonesO)]) -> [(Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] -> 
     Params -> Float -> FilePath -> Float -> String -> IO ()
 soundGen3G_O2GMNPar m1 n1 conversionFII vf vfA vfR params freq1 file y zs = do
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2020-2021 OleksandrZhabenko
+Copyright (c) 2020-2022 Oleksandr Zhabenko
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff --git a/README.markdown b/README.markdown
deleted file mode 100644
--- a/README.markdown
+++ /dev/null
@@ -1,15 +0,0 @@
-             ***** Basic Info *****
-             ======================
-
-Is rewritten from the dobutokO3 package on Hackage (https://hackage.haskell.org/package/dobutokO3) using arrays and list instead of vector-related functionality. 
-
-Helps to create (in a more complicated manner compared to algorithmic-composition-basic package) 
-experimental music from a file (or its part). Can be used to generate sounds 
-with changing timbre.
-
-Is more complicated than algorithmic-composition-basic and uses its functionality. Uses SoX inside.
-
-The functions are taken and fixed some issues from the package algorithmic-composition-basic
-https://hackage.haskell.org/package/algorithmic-composition-basic
-
-
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,15 @@
+             ***** Basic Info *****
+             ======================
+
+Is rewritten from the dobutokO3 package on Hackage (https://hackage.haskell.org/package/dobutokO3) using arrays and list instead of vector-related functionality. 
+
+Helps to create (in a more complicated manner compared to algorithmic-composition-basic package) 
+experimental music from a file (or its part). Can be used to generate sounds 
+with changing timbre.
+
+Is more complicated than algorithmic-composition-basic and uses its functionality. Uses SoX inside.
+
+The functions are taken and fixed some issues from the package algorithmic-composition-basic
+https://hackage.haskell.org/package/algorithmic-composition-basic
+
+
diff --git a/algorithmic-composition-complex.cabal b/algorithmic-composition-complex.cabal
--- a/algorithmic-composition-complex.cabal
+++ b/algorithmic-composition-complex.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                algorithmic-composition-complex
-version:             0.1.1.0
+version:             0.2.0.0
 synopsis:            Helps to create more complex experimental music from a file (especially timbre).
 description:         Uses SoX inside.
 homepage:            https://hackage.haskell.org/package/algorithmic-composition-complex
@@ -13,13 +13,13 @@
 copyright:           Oleksandr Zhabenko
 category:            Sound, Music
 build-type:          Simple
-extra-source-files:  CHANGELOG.md, README.markdown
+extra-source-files:  CHANGELOG.md, README.md
 cabal-version:       >=1.10
 
 library
   exposed-modules:     Composition.Sound.Complex
   -- other-modules:
   -- other-extensions:
-  build-depends:       base >=4.8 && <5, bytestring >= 0.10.6 && <1, process >=1.4 && <1.9, mmsyn3 >=0.1.5 && <1,  directory >=1.2.7 && <1.7, mmsyn7ukr-common >=0.1.1 && <1, mmsyn2-array >=0.1.1 && <1, ukrainian-phonetics-basic-array-bytestring >=0.1 && <1, mmsyn7l >=0.9 && <1, phonetic-languages-simplified-base >=0.2 && <1, foldable-ix >=0.2 && <1, algorithmic-composition-basic >=0.1.1 && <1
+  build-depends:       base >=4.8 && <5, process >=1.4 && <2, mmsyn3 ==0.1.6.0,  directory >=1.2.7 && <2, mmsyn7ukr-common ==0.2.0.0, mmsyn2-array ==0.3.0.0, ukrainian-phonetics-basic-array ==0.6.0.0, mmsyn7l ==0.9.1.0, phonetic-languages-simplified-base ==0.6.0.0, foldable-ix ==0.2.1.0, algorithmic-composition-basic ==0.6.0.0
   -- hs-source-dirs:
   default-language:    Haskell2010
