read_terminal_arguments()
    set_logger()

    exitProgram = False
    # run configuration management
    config = Configuration()
    manifest = CustomManifest(
        gv.MANIFEST_FILE, gv.MANIFEST_HEADERS, gv.MANIFEST_SEPARATOR)
    menu = Menu(gv.MENU_TITLE)

    options = get_options_list(config, manifest)
    menu.add_options(*options)
    menu.show()
    while not exitProgram:
        try:
            menu.select_option()
        except ExitError as e:
            logging.info(e.message)
            exitProgram = True
        except ConfigurationError as e:
            print(e.message)
            config = Configuration()
            manifest = CustomManifest(
                gv.MANIFEST_FILE, gv.MANIFEST_HEADERS, GDCManifest.separator)
            menu.reset_options()
            options = get_options_list(config, manifest)
            menu.add_options(*options)
            print("")

    exit(0)