diff --git a/cfg_checker/common/salt_utils.py b/cfg_checker/common/salt_utils.py
index 1a9d1da..4aba178 100644
--- a/cfg_checker/common/salt_utils.py
+++ b/cfg_checker/common/salt_utils.py
@@ -283,13 +283,15 @@
     def list_minions(self):
         """
             Fails in salt version 2016.3.8
+            Works starting from 2017.7.7
             api returns dict of minions with grains
         """
-        return self.salt_request('get', 'minions')
+        return self.salt_request('get', 'minions')[0]
 
     def list_keys(self):
         """
             Fails in salt version 2016.3.8
+            Works starting from 2017.7.7
             api should return dict:
             {
                 'local': [],
@@ -303,6 +305,7 @@
 
     def get_status(self):
         """
+            Fails in salt version 2017.7.7
             'runner' client is the equivalent of 'salt-run'
             Returns the
         """
@@ -312,6 +315,10 @@
         )
 
     def get_active_nodes(self):
+        """Used when other minion list metods fail
+        
+        :return: json result from salt test.ping
+        """
         if config.skip_nodes:
             logger.info("Nodes to be skipped: {0}".format(config.skip_nodes))
             return self.cmd(
diff --git a/cfg_checker/common/settings.py b/cfg_checker/common/settings.py
index 1ee36b4..39aeff2 100644
--- a/cfg_checker/common/settings.py
+++ b/cfg_checker/common/settings.py
@@ -13,6 +13,12 @@
 
 
 class CheckerConfiguration(object):
+    def load_nodes_list():
+        return utils.get_nodes_list(
+            os.environ.get('CFG_ALL_NODES', None),
+            os.environ.get('SALT_NODE_LIST_FILE', None)
+        )
+
     def _init_values(self):
         """Load values from environment variables or put default ones
         """
@@ -39,10 +45,7 @@
             'SALT_SCRIPTS_FOLDER',
             'cfg_checker_scripts'
         )
-        self.all_nodes = utils.get_nodes_list(
-            os.environ.get('CFG_ALL_NODES', None),
-            os.environ.get('SALT_NODE_LIST_FILE', None)
-        )
+
         self.skip_nodes = utils.node_string_to_list(os.environ.get(
             'CFG_SKIP_NODES',
             None
