add docopt()