argparse functionality added