Refactored into fewer namespaces.