Replaced argparse with docopt for better specs
Refactoring