diff --git a/cfg_checker/common/const.py b/cfg_checker/common/const.py
index 2ae41f6..d17db08 100644
--- a/cfg_checker/common/const.py
+++ b/cfg_checker/common/const.py
@@ -80,7 +80,7 @@
     "unk": "uknown"
 }
 
-ubuntu_releases = ["trusty", "xenial", "ubuntu", "bionic"]
+ubuntu_releases = ["trusty", "xenial", "ubuntu", "bionic", "focal"]
 all_arch = ["amd64"]
 repo_types = {
     "main": "Officially supported software",
@@ -134,5 +134,6 @@
     "20": "train",
     "19": "stein",
     "18": "rocky",
-    "17": "queens"
+    "17": "queens",
+    "00": "not installed"
 }
diff --git a/cfg_checker/common/settings.py b/cfg_checker/common/settings.py
index 1a30ac0..b01d684 100644
--- a/cfg_checker/common/settings.py
+++ b/cfg_checker/common/settings.py
@@ -232,7 +232,7 @@
                 None
             )
             # Warn user only if Kube env is detected locally
-            if self.env_name == "local":
+            if self.env_name == ENV_LOCAL:
                 if not os.path.exists(self.kube_config_path):
                     logger_cli.warn(
                         "Kube config path not found on local env: '{}'".format(
@@ -265,7 +265,7 @@
                     self.kube_node_keypath = self.ssh_key
                 self.kube_node_homepath = self.homepath
 
-    def _init_env(self, env_name=None):
+    def _init_env(self, config_path, env_name=None):
         """Inits the environment vars from the env file
         Uses simple validation for the values and names
 
@@ -279,23 +279,18 @@
             ConfigException -- on env file failed validation
         """
         # load env file as init os.environment with its values
-        if env_name is None:
-            _env_name = ENV_LOCAL
-        else:
-            _env_name = env_name
-        _config_path = os.path.join(pkg_dir, 'etc', _env_name + '.env')
-        if os.path.isfile(_config_path):
-            with open(_config_path) as _f:
+        if os.path.isfile(config_path):
+            with open(config_path) as _f:
                 _list = _f.read().splitlines()
             logger_cli.info(
                 "# Loading env vars from '{}'".format(
-                    _config_path
+                    config_path
                 )
             )
         else:
             raise ConfigException(
                 "# Failed to load enviroment vars from '{}'".format(
-                    _config_path
+                    config_path
                 )
             )
         self.vars = []
@@ -327,13 +322,13 @@
                     len(_list)
                 )
             )
-            self.env_name = _env_name
+            self.env_name = env_name
 
     def __init__(self, args):
         """Base configuration class. Only values that are common for all scripts
         """
         self.ssh_uses_sudo = args.sudo
-        self.kube_config_path = args.kube_config_path
+        self.kube_config_path = args.kube_config
         self.debug = args.debug
         self.force_no_key = args.force_no_key
         # Make sure we running on Python 3
@@ -346,10 +341,15 @@
                 sys.version_info[1]
             ))
 
-        _env = os.getenv('MCP_ENV', None)
+        # if env name is default, check var too
+        if args.env_name == ENV_LOCAL:
+            _env = os.getenv('MCP_ENV', None)
+            _env = _env if _env else args.env_name
+        else:
+            _env = args.env_name
 
         # Init environment variables from file, validate
-        self._init_env(_env)
+        self._init_env(args.env_config, env_name=_env)
         # Load Common vars for any type of the env
         self._init_mcp_values()
         # Detect env types present
@@ -374,11 +374,8 @@
                                 self.mcp_host
                             )
                 )
-        # Init vars that is specific to detected envs only
-        self._init_env_values()
-
         # initialize path to folders
-        if self.env_name == "local":
+        if self.env_name == ENV_LOCAL:
             # names and folders
             self.user = self.pw_user.pw_name
             self.homepath = self.pw_user.pw_dir
@@ -386,3 +383,6 @@
             # names and folders in case of remote env
             self.user = self.ssh_user
             self.homepath = os.path.join('/home', self.ssh_user)
+
+        # Init vars that is specific to detected envs only
+        self._init_env_values()
