using boost program_options for subcommand restructuring.