using the docopt paradigm