added argparse support