major refactor reporting in