Better error messages, and some refactoring in cli.py
Include __init__ files in each submodule