Switch to docopt and update methods for more functionality