diff --git a/README.md b/README.md
index 68fa991..044422c 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,11 @@
  - if node listing fails, execute `salt-key` on master 
    and create an `etc/nodes.list` file with minions list
 
-To be updated.
+TODO:
+- Check root on startup, exit
+- Prepare script to create venv
+- Format reclass compare file
+- Update messages to same style
 
 Cheers!
 
diff --git a/cfg_checker/cfg_check.py b/cfg_checker/cfg_check.py
index 9389817..b8243ff 100644
--- a/cfg_checker/cfg_check.py
+++ b/cfg_checker/cfg_check.py
@@ -1,6 +1,5 @@
 import argparse
 import os
-import reclass
 import sys
 import traceback
 
diff --git a/cfg_checker/common/exception.py b/cfg_checker/common/exception.py
index 157c466..8e8b818 100644
--- a/cfg_checker/common/exception.py
+++ b/cfg_checker/common/exception.py
@@ -12,22 +12,22 @@
         # TODO: get and log traceback
 
         # prettify message
-        self.message = "CheckerException: {}".format(message)
+        self.message = "# CheckerException: {}".format(message)
 
 
 class ConfigException(CheckerException):
     def __init__(self, message, *args, **kwargs):
         super(ConfigException, self).__init__(message, *args, **kwargs)
-        self.message = "Configuration error: {}".format(message)
+        self.message = "# Configuration error: {}".format(message)
 
 
 class SaltException(CheckerException):
     def __init__(self, message, *args, **kwargs):
         super(SaltException, self).__init__(message, *args, **kwargs)
-        self.message = "Salt error: {}".format(message)
+        self.message = "# Salt error: {}".format(message)
 
 
 class InvalidReturnException(CheckerException):
     def __init__(self, message, *args, **kwargs):
         super(InvalidReturnException, self).__init__(message, *args, **kwargs)
-        self.message = "Unexpected return value: {}".format(message)
+        self.message = "# Unexpected return value: {}".format(message)
diff --git a/cfg_checker/common/other.py b/cfg_checker/common/other.py
index 1ff5adf..47cb865 100644
--- a/cfg_checker/common/other.py
+++ b/cfg_checker/common/other.py
@@ -33,7 +33,7 @@
         :param message: True if validate should return error check message
         :return: False if checks failed, True if all checks passed
         """
-        _message = "Validation passed"
+        _message = "# Validation passed"
 
         def _result():
             return (True, _message) if message else True
@@ -45,11 +45,11 @@
                 return _result()
             else:
                 # log warning here
-                _message = "Node code is unknown, '{}'. " \
-                           "Please, update map".format(_code)
+                _message = "# Node code is unknown, '{}'. " \
+                           "# Please, update map".format(_code)
         else:
             # log warning here
-            _message = "Node name is invalid, '{}'".format(fqdn)
+            _message = "# Node name is invalid, '{}'".format(fqdn)
 
         # put other checks here
 
@@ -88,7 +88,7 @@
                 with open(os.path.join(pkg_dir, nodes_list)) as _f:
                     _list.extend(_f.read().splitlines())
             except IOError as e:
-                raise ConfigException("Error while loading file, '{}': "
+                raise ConfigException("# Error while loading file, '{}': "
                                       "{}".format(e.filename, e.strerror))
         else:
             _list.extend(self.node_string_to_list(env))
diff --git a/cfg_checker/common/salt_utils.py b/cfg_checker/common/salt_utils.py
index 4aba178..4955fae 100644
--- a/cfg_checker/common/salt_utils.py
+++ b/cfg_checker/common/salt_utils.py
@@ -19,7 +19,7 @@
             _json = json.loads(_raw)
         except ValueError as e:
             raise SaltException(
-                "Return value is not a json: '{}'".format(_raw)
+                "# Return value is not a json: '{}'".format(_raw)
             )
     
     return _json["local"]
@@ -47,7 +47,7 @@
     logger_cli.debug("### Calling salt: '{}'".format(_ssh_cmd))
     _result = shell(_ssh_cmd)
     if len(_result) < 1:
-        raise InvalidReturnException("Empty value returned for '{}".format(
+        raise InvalidReturnException("# Empty value returned for '{}".format(
             _ssh_cmd
         ))
     else:
@@ -88,7 +88,7 @@
 
     def get(self, path='', headers=default_headers, cookies=None):
         _path = os.path.join(self.uri, path)
-        logger.debug("GET '{}'\nHeaders: '{}'\nCookies: {}".format(
+        logger.debug("# GET '{}'\nHeaders: '{}'\nCookies: {}".format(
             _path,
             headers,
             cookies
@@ -107,7 +107,7 @@
             _data = str(data).replace(self._pass, "*****")
         else:
             _data = data
-        logger.debug("POST '{}'\nHeaders: '{}'\nCookies: {}\nBody: {}".format(
+        logger.debug("# POST '{}'\nHeaders: '{}'\nCookies: {}\nBody: {}".format(
             _path,
             headers,
             cookies,
@@ -132,7 +132,7 @@
             'eauth': 'pam'
         }
         self._pass = _pass
-        logger.debug("Logging in to salt master...")
+        logger.debug("# Logging in to salt master...")
         _response = self.post(login_payload, path='login')
 
         if _response.ok:
@@ -143,7 +143,7 @@
             return self._auth['response']['token']
         else:
             raise EnvironmentError(
-                "HTTP:{}, Not authorized?".format(_response.status_code)
+                "# HTTP:{}, Not authorized?".format(_response.status_code)
             )
 
     def salt_request(self, fn, *args, **kwargs):
@@ -159,7 +159,7 @@
         if _len < 1024:
             _content = _response.content
         logger.debug(
-            "Response (HTTP {}/{}), {}: {}".format(
+            "# Response (HTTP {}/{}), {}: {}".format(
                 _response.status_code,
                 _response.reason,
                 _len,
@@ -170,7 +170,7 @@
             return _response.json()['return']
         else:
             raise EnvironmentError(
-                "Salt Error: HTTP:{}, '{}'".format(
+                "# Salt Error: HTTP:{}, '{}'".format(
                     _response.status_code,
                     _response.reason
                 )
@@ -214,7 +214,7 @@
             return _response[0]
         else:
             raise EnvironmentError(
-                "Unexpected response from from salt-api/LocalClient: "
+                "# Unexpected response from from salt-api/LocalClient: "
                 "{}".format(_response)
             )
 
@@ -233,7 +233,7 @@
             return _response[0]
         else:
             raise EnvironmentError(
-                "Unexpected response from from salt-api/RunnerClient: "
+                "# Unexpected response from from salt-api/RunnerClient: "
                 "{}".format(_response)
             )
 
@@ -254,7 +254,7 @@
             return _response
         else:
             raise EnvironmentError(
-                "Salt Error: '{}'".format(_response['return']))
+                "# Salt Error: '{}'".format(_response['return']))
 
     def pillar_request(self, node_target, pillar_submodule, argument):
         # example cli: 'salt "ctl01*" pillar.keys rsyslog'
@@ -320,7 +320,7 @@
         :return: json result from salt test.ping
         """
         if config.skip_nodes:
-            logger.info("Nodes to be skipped: {0}".format(config.skip_nodes))
+            logger.info("# Nodes to be skipped: {0}".format(config.skip_nodes))
             return self.cmd(
                 '* and not ' + list_to_target_string(
                     config.skip_nodes,
diff --git a/cfg_checker/common/settings.py b/cfg_checker/common/settings.py
index 39aeff2..30cc7f2 100644
--- a/cfg_checker/common/settings.py
+++ b/cfg_checker/common/settings.py
@@ -75,7 +75,7 @@
             logger_cli.info("# Loading env vars from '{}'".format(_config_path))
         else:
             raise ConfigException(
-                "Failed to load enviroment vars from '{}'".format(
+                "# Failed to load enviroment vars from '{}'".format(
                     _config_path
                 )
             )
@@ -96,7 +96,7 @@
         # if there was errors, report them
         if _errors:
             raise ConfigException(
-                "Environment file failed validation in lines: {}".format(
+                "# Environment file failed validation in lines: {}".format(
                     "\n".join(_errors)
                 )
             )
diff --git a/cfg_checker/network_checks.py b/cfg_checker/network_checks.py
index 7daa673..d5bb9d5 100644
--- a/cfg_checker/network_checks.py
+++ b/cfg_checker/network_checks.py
@@ -35,7 +35,7 @@
                 key,
                 len(self.nodes[key]['networks'].keys())
             ))
-        logger_cli.info("-> Done collecting networks data")
+        logger_cli.info("-> done collecting networks data")
 
         # dump collected data to speed up coding
         # with open('dump.json', 'w+') as ff:
