refactored namespacing