argparse inteface, and json configuration support