introduce docopt and schema