diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,3 +8,7 @@
 
 * Second version. Changed Double to Float where possible to obtain new possibilities. The shift is inspired by: https://www.youtube.com/watch?v=FYTZkE5BZ-0 
 Some minor documentation improvements.
+
+## 0.2.1.0 -- 2020-06-24
+
+* Second version revised A. Fixed typos mistake in code that do not allow it to be compiled.
diff --git a/DobutokO/Sound/Complex.hs b/DobutokO/Sound/Complex.hs
--- a/DobutokO/Sound/Complex.hs
+++ b/DobutokO/Sound/Complex.hs
@@ -54,7 +54,7 @@
 -- | Tesing variant of the 'soundGen3GMN' with predefined last functional arguments.
 testSoundGen2GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> IO ()
 testSoundGen2GMN m n1 file y zs = do
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print
   let n = V.length vecA0
       freq0 j = V.unsafeIndex notes (snd . V.unsafeIndex vecA0 $ j `rem` n)
       f0 t = V.fromList [(0.05763181818181818 * t, 0.3598),(1.112159090909091 * t, 0.4588962),(2 * t, 0.6853),(3 * t, 0.268),(4 * t, 0.6823),(5 * t, 0.53)]
@@ -80,12 +80,12 @@
 soundGen3G = soundGen3GMN (-1) (-1)
 
 -- | 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 'readFileFloats' and the second one 
+-- will provide, you use first two 'Int64' 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) 
   -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
 soundGen3GMN m n1 file y zs gAdd gRem f0 = do
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print
   let n = V.length vecA0
       freq0 j = V.unsafeIndex notes (snd . V.unsafeIndex vecA0 $ j `rem` n)
       fA1 j = fAddFElem (freq0 (j + 1),0.5) f0 gAdd
@@ -123,13 +123,13 @@
 soundGen3G_OPar = soundGen3G_OMNPar (-1) (-1)
 
 -- | 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 'readFileFloats' and the second one 
+-- will provide, you use first two 'Int64' 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) 
   -> (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
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m1 n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print
   let n = V.length vecA0
       fA1 j = fAddFElems (proj . freq0 $ j) f0 gAdds
       fR1 j = fRemoveFElems (proj . freq0 $ j) f0 gRems
@@ -153,7 +153,7 @@
   -> (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
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m1 n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print
   let n = V.length vecA0
       fA1 j = fAddFElems (proj . freq0 $ j) f0 gAdds
       fR1 j = fRemoveFElems (proj . freq0 $ j) f0 gRems
@@ -209,14 +209,14 @@
 soundGen3G_O2Par = soundGen3G_O2MNPar (-1) (-1)
 
 -- | 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 'readFileFloats' and the second one 
+-- will provide, you use first two 'Int64' 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) -> V.Vector (Int,Int) -> 
   V.Vector (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 ()
 soundGen3G_O2MN m1 n1 conversionFII m ku freq1 file y zs gAdds gRems freq0 proj f0 = do
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m1 n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print
   let n = V.length vecA0
       fA1 j = fAddFElems (proj . freq0 $ j) f0 gAdds
       fR1 j = fRemoveFElems (proj . freq0 $ j) f0 gRems
@@ -234,7 +234,7 @@
     (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
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m1 n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print
   let n = V.length vecA0
       fA1 j = fAddFElems (proj . freq0 $ j) f0 gAdds
       fR1 j = fRemoveFElems (proj . freq0 $ j) f0 gRems
@@ -266,13 +266,13 @@
 soundGen3G_O2GPar = soundGen3G_O2GMNPar (-1) (-1)
 
 -- | 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 'readFileFloats' and the second one 
+-- will provide, you use first two 'Int64' 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 -> ((V.Vector (Float -> OvertonesO),V.Vector (Int -> Float -> OvertonesO),V.Vector (Int -> Float -> OvertonesO)) -> V.Vector (Int,Int) -> 
   V.Vector (Float,Float -> OvertonesO)) -> V.Vector (Float -> OvertonesO) -> V.Vector (Int -> Float -> OvertonesO) -> V.Vector (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
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m1 n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print
   let n = V.length vecA0
       vecB = conversionFII (vf,vfA,vfR) vecA0
       zeroN = numVZeroesPre vecB
@@ -287,7 +287,7 @@
   V.Vector (Float,Float -> OvertonesO)) -> V.Vector (Float -> OvertonesO) -> V.Vector (Int -> Float -> OvertonesO) -> V.Vector (Int -> Float -> OvertonesO) -> 
     Params -> Float -> FilePath -> Float -> String -> IO ()
 soundGen3G_O2GMNPar m1 n1 conversionFII vf vfA vfR params freq1 file y zs = do
-  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileFloats else readFileFloatsMN m1 n1) file) -- >>= print
+  vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print
   let n = V.length vecA0
       vecB = conversionFII (vf,vfA,vfR) vecA0
       zeroN = numVZeroesPre vecB
diff --git a/dobutokO3.cabal b/dobutokO3.cabal
--- a/dobutokO3.cabal
+++ b/dobutokO3.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                dobutokO3
-version:             0.2.0.0
+version:             0.2.1.0
 synopsis:            Helps to create more complex experimental music from a file (especially timbre).
 description:         Uses SoX inside.
 homepage:            https://hackage.haskell.org/package/dobutokO3
