diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -46,4 +46,6 @@
 
 * Fourth version revised A. Fixed issues with the null command line arguments and showing precision. Added new functions.
 
+## 0.4.2.0 -- 2020-01-02
 
+* Fourth version revised B. Added a new function 'gainL' to the SoXBasics module. Fixed an issue with 'volS' function. Some minor code changes. Some documentation improvements.
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -20,12 +20,10 @@
 import Processing_mmsyn7ukr
 import System.Environment (getArgs)
 
--- | Function responds for general program execution. It starts with Caution to be responsible for usage and to 
--- use it personally. Then the program guides you through the creating and using your Ukrainian \"voice\". 
--- Please, use it carefully. After the execution the program if terminated naturally without interruption 
--- removes (cleans) all the created sound files in the current directory for security reasons. If it terminates 
--- by interruption or in general it is a good practice to remove the current directory sound files manually. 
--- The function uses command line arguments. For their meaning, please, refer to README file.
+-- | Function responds for general program execution. It starts with CAUTION to be responsible for usage and to 
+-- use it personally in some important cases (see README). Then the program guides you through the creating your Ukrainian \"voice\". 
+-- Please, use it carefully. The function uses command line arguments. 
+-- For their meaning, please, refer to README file.
 -- 
 main :: IO ()
 main = do
@@ -102,7 +100,7 @@
         eSi = fromJust (showE "soxi")
         eSp = fromJust (showE "play")
         eSr = fromJust (showE "rec")
-    return ()) (error "SoX is not properly installed in your system. Please, install it properly and the run the program again! ")
+    return ()) (error "SoX is not properly installed in your system. Please, install it properly and then run the program again! ")
   paths <- mapM getDataFileName ["A.wav", "B.wav", "C.wav", "D.wav", "E.wav", "F.wav", "G.wav", "H.wav", 
         "I.wav", "J.wav", "K.wav", "L.wav", "M.wav", "N.wav", "O.wav", "P.wav", "Q.wav", "R.wav", 
           "S.wav", "T.wav", "U.wav", "V.wav", "W.wav", "X.wav", "Y.wav", "Z.wav", "a.wav", "b.wav", "c.wav", 
@@ -119,5 +117,5 @@
   let pairs = zip copiedFs silenceFs
   mapM_ (\(x, y) -> copyFile x y) pairs
   putStrLn ""
-  putStrLn "Your voice sound files are now created in the current directory! Use in a secure way! Remember thu initial CAUTION! "
+  putStrLn "Your voice sound files are now created in the current directory! Use in a secure way! Remember the initial CAUTION! "
   putStrLn ""
diff --git a/SoXBasics.hs b/SoXBasics.hs
--- a/SoXBasics.hs
+++ b/SoXBasics.hs
@@ -145,6 +145,14 @@
   then readProcessWithExitCode (fromJust (showE "sox")) [file, "9" ++ file, "gain", "-n", show level] "" >> return ()
   else error "SoX is not properly installed in your system. Please, install it properly and then call the function again."
 
+-- | Function 'normL' applies a SoX \"gain -b [db-Value]\" effect on the audio file with dB value given by the @Int@ argument. 
+-- The function must be used with the @FilePath@ parameter containing no directories in its name (that mean the file of the @FilePath@ parameter must be 
+-- in the same directory that also the function is called from).
+gainL :: FilePath -> Int -> IO ()
+gainL file level = if isJust (showE "sox") 
+  then readProcessWithExitCode (fromJust (showE "sox")) [file, "9" ++ file, "gain", "-b", show level] "" >> return ()
+  else error "SoX is not properly installed in your system. Please, install it properly and then call the function again."
+
 -- | Function 'soxStat' prints a SoX statistics for the audio file.
 soxStat :: FilePath -> IO ()
 soxStat file = if isJust (showE "sox") 
@@ -271,7 +279,7 @@
 volS file amplitude = if isJust (showE "sox") 
   then do
     norm file
-    _ <- readProcessWithExitCode (fromJust (showE "sox")) ["8" ++ file, "8." ++ file, "vol", showFFloat Nothing amplitude $ show 0, "amplitude", "0.01"] ""
+    _ <- readProcessWithExitCode (fromJust (showE "sox")) ["8" ++ file, "8." ++ file, "vol", showFFloat Nothing amplitude $ show 0, "amplitude"] ""
     removeFile $ "8" ++ file
   else error "SoX is not properly installed in your system. Please, install it properly and then call the function again."
 
diff --git a/mmsyn7ukr.cabal b/mmsyn7ukr.cabal
--- a/mmsyn7ukr.cabal
+++ b/mmsyn7ukr.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                mmsyn7ukr
-version:             0.4.1.0
+version:             0.4.2.0
 synopsis:            A simple basic interface to some SoX functionality or to produce a voice that can be used by mmsyn7h
 description:         A program and a library that can be used as a simple basic interface to some SoX functionality or to produce your voice in Ukrainian (if you pronounce the sounds properly) represented by the separate sounds or something special like soft sign.
 homepage:            https://hackage.haskell.org/package/mmsyn7ukr
