moved classes into their own namespaces