using argparse module instead of getopt