Major update to switch from Tabs to Spaces
Moving utility functions out to a submodule
Name changes to support PEP-8