begin to implement docopt functionality