major refactoring - **Note reporters currently not reporting