separate classes out using autoload and namespaces