Added namespacing and autoloader support