diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -45,4 +45,8 @@
 
 ## 0.4.0.1 -- 2019-12-06
 
-* Fourth version revised A. Better documentated. Some minor code changes.
+* Fourth version revised A. Better documented. Some minor code changes.
+
+## 0.4.0.2 -- 2019-12-06
+
+* Fourth version revised B. Fixed issues with the documentation.
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -27,8 +27,9 @@
 -}
 
 -- | The function creates a raw PCM sound file with bitrate 22050 Hz 1 mono channel 16-bit signed-integer encoding 
--- and tries to automatically convert it to the .wav file with the same parameters using the system binary SoX.
--- If it is not installed properly, the program makes ending informational message for the user.
+-- and tries to automatically convert it to the .wav file with the same parameters using the system binary SoX. 
+-- If it is not installed properly, the program makes ending informational message for the user. 
+-- Command line argument is described in more details in the documentation for the 'Melodics.Ukrainian.nSymbols' function.
 main :: IO ()
 main = do
          args <- getArgs
diff --git a/Melodics/Ukrainian.hs b/Melodics/Ukrainian.hs
--- a/Melodics/Ukrainian.hs
+++ b/Melodics/Ukrainian.hs
@@ -311,9 +311,12 @@
 isUkrainian y | (y >= '\1040' && y <= '\1065') || (y >= '\1070' && y <= '\1097') = True
               | otherwise = getBFst' (False, V.fromList . map (\x -> (x, True)) $ "'-\700\1028\1030\1031\1068\1100\1102\1103\1108\1110\1111\1168\1169\8217") y
 
--- | Function that converts the first command line argument given, which is a digit in the range @[0..9]@, 
+-- | Function that converts the first command line argument given, which is a digit in the range @[0..9]@ 
+-- (prividing a logarithmic scale starting from 2 and ending at 1000000001), 
 -- to the upper bound of number of symbols that the 'Main.main' function reads from the @stdin@ for sounding.
--- The default value (no / some other input) is 31416. 
+-- The default value (no input) is 31416. If there is another first command line argument then the program gives 
+-- an error message and terminates with the error. This is done for the security reasons: because of performative writing to
+-- the resulting file(s) there is a need to limit the used memory.
 nSymbols :: String -> Int
 nSymbols xs | null xs = 31416::Int
             | otherwise = getBFst' (31416::Int, V.generate 10 (\n -> (n, (10^n + 1)::Int))) (let temp = read xs::Int in if temp <= 9 && temp >= 1
diff --git a/mmsyn6ukr.cabal b/mmsyn6ukr.cabal
--- a/mmsyn6ukr.cabal
+++ b/mmsyn6ukr.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                mmsyn6ukr
-version:             0.4.0.1
+version:             0.4.0.2
 synopsis:            A musical instrument synthesizer or a tool for Ukrainian language listening
 description:         A program can be used as a musical instrument synthesizer or for Ukrainian speech synthesis especially for poets and writers
 homepage:            https://hackage.haskell.org/package/mmsyn6ukr
