refactored 'reporting' code into multiple namespaces.