integrated argparse, better main