cleaned up namespaces, refactored some classes for readability/modularit...

...y