use docopt for argument parsing