use argparse, allow specifying output_directory