need to rework the CLI and main method