added argparse to handle the command line arguments