Added namespaces, decoupled autoloading, normalized whitespace