* refactor argparse support