diff --git a/cfg_checker/cfg_check.py b/cfg_checker/cfg_check.py
index 22125f6..37f9957 100644
--- a/cfg_checker/cfg_check.py
+++ b/cfg_checker/cfg_check.py
@@ -2,10 +2,7 @@
 import sys
 from logging import DEBUG, INFO
 
-from cfg_checker.cli.command import execute_command
-from cfg_checker.cli.network import init_network_parser
-from cfg_checker.cli.package import init_package_parser
-from cfg_checker.cli.reclass import init_reclass_parser
+from cfg_checker.cli.command import execute_command, helps, parsers
 from cfg_checker.common import config, logger, logger_cli
 from cfg_checker.helpers.args_utils import MyParser
 
@@ -37,26 +34,13 @@
     )
     subparsers = parser.add_subparsers(dest='command')
 
-    # package
-    pkg_parser = subparsers.add_parser(
-        'packages',
-        help="Package versions check (Candidate vs Installed)"
-    )
-    init_package_parser(pkg_parser)
-
-    # networking
-    net_parser = subparsers.add_parser(
-        'network',
-        help="Network infrastructure checks and reports"
-    )
-    init_network_parser(net_parser)
-
-    # reclass
-    reclass_parser = subparsers.add_parser(
-        'reclass',
-        help="Reclass related checks and reports"
-    )
-    init_reclass_parser(reclass_parser)
+    # create parsers
+    for _command in helps.keys():
+        _parser = subparsers.add_parser(
+            _command,
+            help=helps[_command]
+        )
+        parsers[_command](_parser)
 
     # parse arguments
     try:
