diff --git a/cfg_checker/reports/reporter.py b/cfg_checker/reports/reporter.py
index d103cb4..7ddbc4f 100644
--- a/cfg_checker/reports/reporter.py
+++ b/cfg_checker/reports/reporter.py
@@ -118,9 +118,9 @@
 
 @six.add_metaclass(abc.ABCMeta)
 class _Base(object):
-    def __init__(self, salt_master=None):
+    def __init__(self, master=None):
         self.jinja2_env = self.init_jinja2_env()
-        self.salt_master = salt_master
+        self.master = master
 
     @abc.abstractmethod
     def __call__(self, payload):
@@ -230,7 +230,7 @@
         def _dmidecode(_dict, type=0):
             # _key = "dmi"
             _key_r = "dmi_r"
-            _f_cmd = self.salt_master.get_cmd_for_nodes
+            _f_cmd = self.master.get_cmd_for_nodes
             _cmd = "dmidecode -t {}".format(type)
             _f_cmd(_cmd, _key_r, target_dict=_dict)
             # TODO: parse BIOS output or given type
@@ -239,7 +239,7 @@
         def _lsblk(_dict):
             # _key = "lsblk"
             _key_r = "lsblk_raw"
-            _f_cmd = self.salt_master.get_cmd_for_nodes
+            _f_cmd = self.master.get_cmd_for_nodes
             _columns = [
                 "NAME",
                 "HCTL",
@@ -260,7 +260,7 @@
             _key = "lscpu"
             _key_r = "lscpu_raw"
             # get all of the values
-            _f_cmd = self.salt_master.get_cmd_for_nodes
+            _f_cmd = self.master.get_cmd_for_nodes
             _cmd = "lscpu | sed -n '/\\:/s/ \\+/ /gp'"
             _f_cmd(_cmd, _key_r, target_dict=_dict)
             # parse them and put into dict
@@ -290,7 +290,7 @@
         def _free(_dict):
             _key = "ram"
             _key_r = "ram_raw"
-            _f_cmd = self.salt_master.get_cmd_for_nodes
+            _f_cmd = self.master.get_cmd_for_nodes
             _cmd = "free -h | sed -n '/Mem/s/ \\+/ /gp'"
             _f_cmd(_cmd, _key_r, target_dict=_dict)
             # parse them and put into dict
@@ -323,7 +323,7 @@
         def _services(_dict):
             _key = "services"
             _key_r = "services_raw"
-            _f_cmd = self.salt_master.get_cmd_for_nodes
+            _f_cmd = self.master.get_cmd_for_nodes
             _cmd = "service --status-all"
             _f_cmd(_cmd, _key_r, target_dict=_dict)
             for node, dt in _dict.items():
@@ -350,7 +350,7 @@
         def _vcp_status(_dict):
             _key = "virsh"
             _key_r = "virsh_raw"
-            self.salt_master.get_cmd_for_nodes(
+            self.master.get_cmd_for_nodes(
                 "virsh list --all | sed -n -e '/[0-9]/s/ \\+/ /gp'",
                 _key_r,
                 target_dict=_dict,
@@ -383,7 +383,7 @@
         def _soft_net_stats(_dict):
             _key = "net_stats"
             _key_r = "net_stats_raw"
-            _f_cmd = self.salt_master.get_cmd_for_nodes
+            _f_cmd = self.master.get_cmd_for_nodes
             _cmd = "cat /proc/net/softnet_stat; echo \\#; " \
                 "sleep {}; cat /proc/net/softnet_stat".format(
                     _softnet_interval
@@ -465,7 +465,7 @@
         }
 
         # get kernel version
-        self.salt_master.get_cmd_for_nodes(
+        self.master.get_cmd_for_nodes(
             "uname -r",
             "kernel",
             target_dict=data["nodes"]
@@ -481,7 +481,7 @@
         # sample: /dev/vda1 78G 33G 45G 43%
         _key = "disk"
         _key_r = "disk_raw"
-        self.salt_master.get_cmd_for_nodes(
+        self.master.get_cmd_for_nodes(
             "df -h | sed -n '/^\\/dev/s/ \\+/ /gp' | cut -d\" \" -f 1-5",
             "disk_raw",
             target_dict=data["nodes"]
@@ -526,12 +526,12 @@
         for net, net_v in data['map'].items():
             for node, ifs in net_v.items():
                 for d in ifs:
-                    _err = "fail"
-                    d['interface_error'] = _err if d['interface_error'] else ""
-                    d['mtu_error'] = _err if d['mtu_error'] else ""
-                    d['status_error'] = _err if d['status_error'] else ""
+                    _e = "fail"
+                    d['interface_error'] = _e if 'interface_error' in d else ""
+                    d['mtu_error'] = _e if 'mtu_error' in d else ""
+                    d['status_error'] = _e if 'status_error' in d else ""
                     d['subnet_gateway_error'] = \
-                        _err if d['subnet_gateway_error'] else ""
+                        _e if 'subnet_gateway_error' in d else ""
 
         _services(data["nodes"])
         # vcp status
