argparse refactor