diff --git a/cfg_checker/nodes.py b/cfg_checker/nodes.py
index 3990cec..5e47447 100644
--- a/cfg_checker/nodes.py
+++ b/cfg_checker/nodes.py
@@ -23,7 +23,7 @@
 
         # Keys for all nodes
         # this is not working in scope of 2016.8.3, will overide with list
-        logger_cli.debug("...collecting node names existing in the cloud")
+        logger_cli.debug("... collecting node names existing in the cloud")
         try:
             _keys = self.salt.list_keys()
             _str = []
@@ -121,7 +121,7 @@
         :return: no return value, data pulished internally
         """
         logger_cli.debug(
-            "...collecting node pillars for '{}'".format(pillar_path)
+            "... collecting node pillars for '{}'".format(pillar_path)
         )
         _result = self.salt.pillar_get(self.active_nodes_compound, pillar_path)
         self.not_responded = []
@@ -165,7 +165,7 @@
             config.salt_file_root, config.salt_scripts_folder
         )
         logger_cli.debug(
-            "...Uploading script {} "
+            "... uploading script {} "
             "to master's file cache folder: '{}'".format(
                 script_filename,
                 _storage_path
@@ -185,12 +185,12 @@
             script_filename
         )
 
-        logger_cli.debug("...creating file in cache '{}'".format(_cache_path))
+        logger_cli.debug("... creating file in cache '{}'".format(_cache_path))
         self.salt.f_touch_master(_cache_path)
         self.salt.f_append_master(_cache_path, _script)
         # command salt to copy file to minions
         logger_cli.debug(
-            "...creating script target folder '{}'".format(
+            "... creating script target folder '{}'".format(
                 _cache_path
             )
         )
