moved some classes around and renamed namespaces