diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -57,3 +57,10 @@
 ## 0.5.0.1 -- 2020-01-06
 
 * Fifth version revised A. Improved a documentation structure.
+
+## 0.6.0.0 -- 2020-01-10
+
+* Sixth version. Added a possibility to create not a full set of the 
+Ukrainian sounds representations, but only for the those non-silent ones 
+that are specified by the third command line parameter. 
+
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2019 OleksandrZhabenko
+Copyright (c) 2019-2020 OleksandrZhabenko
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -22,6 +22,8 @@
 import Processing_mmsyn7ukr
 import System.Environment (getArgs)
 import System.Info (os)
+import qualified Data.Vector as V
+import CaseBi (getBFst')
 
 -- | 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\". 
@@ -109,21 +111,42 @@
             eSp = fromJust (showE "play")
             eSr = fromJust (showE "rec")
         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", 
-            "d.wav", "e.wav", "f.wav"]
-  copiedFs <- mapM getDataFileName ["-.wav", "0.wav", "1.wav"]
   let a0 = if null . take 1 $ args 
              then []
              else concat . take 1 $ args
       a1 = if null . drop 1 . take 2 $ args 
              then []
              else concat . drop 1 . take 1 $ args
-  mapM_ (produceSound (a0, a1)) paths
-  silenceFs <- mapM makeAbsolute ["-.wav", "0.wav", "1.wav"]
-  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 the initial CAUTION! "
-  putStrLn ""
+      a2 = if null . drop 2 . take 3 $ args 
+             then []
+             else read (show . drop 2 . take 3 $ args)::[String]
+  if null a2 
+    then do 
+      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", 
+            "d.wav", "e.wav", "f.wav"]
+      copiedFs <- mapM getDataFileName ["-.wav", "0.wav", "1.wav"]
+      mapM_ (produceSound (a0, a1)) paths
+      silenceFs <- mapM makeAbsolute ["-.wav", "0.wav", "1.wav"]
+      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 the initial CAUTION! "
+      putStrLn ""
+    else do 
+      let wws = map (getBFst' ("0.wav", V.fromList . zip ["а","б","в","г","д","дж","дз","е","ж","з","и","й","к","л","м","н","о","п","р","с",
+                       "сь","т","у","ф","х","ц","ць","ч","ш","ь","і","ґ"] $ ["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", 
+                             "d.wav", "e.wav", "f.wav"])) a2
+      paths <- mapM getDataFileName wws
+      copiedFs <- mapM getDataFileName ["-.wav", "0.wav", "1.wav"]
+      mapM_ (produceSound (a0, a1)) paths
+      silenceFs <- mapM makeAbsolute ["-.wav", "0.wav", "1.wav"]
+      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 the initial CAUTION! "
+      putStrLn ""
+    
diff --git a/Processing_mmsyn7ukr.hs b/Processing_mmsyn7ukr.hs
--- a/Processing_mmsyn7ukr.hs
+++ b/Processing_mmsyn7ukr.hs
@@ -49,13 +49,13 @@
           "S.wav", "T.wav", "U.wav", "V.wav", "W.wav", "X.wav", "Y.wav", "Z.wav", "a.wav", "b.wav", "c.wav", 
             "d.wav", "e.wav", "f.wav"] $ ["а", "б", "в", "г", "д", "дж", "дз", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", 
                "с", "сь", "т", "у", "ф", "х", "ц", "ць", "ч", "ш", "ь", "і", "ґ"]) $ file1
-; putStr "The needed files were NOT created, because the sound was not at the moment of recording! The process will be restarted "
-; putStrLn "for the sound. Please, produce a sound during the first 3 seconds (after 0.5 second delay) or specify greater ratio!"
 ; playA file
 ; putStrLn "The sound duration is: "
 ; produceSound2 (file, file1) (actsctrl, noiseLim) soundUkr
-; return () }) (putStrLn "Something went unexpectedly, please, repeat the precedure agein, be attentive to the data you provide as input! " >> cleanTemp >> 
-    produceSound (actsctrl, noiseLim) file)
+; return () }) (putStrLn "Something went unexpectedly, please, repeat the precedure agein, be attentive to the data you provide as input! " >> 
+    putStr "The needed files were NOT created, because the sound was not at the moment of recording! The process will be restarted " >> 
+      putStrLn "for the sound. Please, produce a sound during the first 3 seconds (after 0.5 second delay) or specify greater ratio!" >> cleanTemp >> 
+        produceSound (actsctrl, noiseLim) file)
 
 
 -- | Function 'produceSound3' is used internally in the 'produceSound2' function.
diff --git a/README b/README
--- a/README
+++ b/README
@@ -117,3 +117,7 @@
     _ -> the maximum amplitude, starting from which the file 
       will not be trimmed for the first command line argument 
        greater of 1, is 0.04; 
+
+If you specified as a third command line argument as a list of String's, 
+then the program produces only those non-silent Ukrainian sounds 
+representations that are in the list. The list must be sorted.
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.5.0.1
+version:             0.6.0.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
