Use docopt and schema instead of argparse