added argparse and some defaults