refactored: mock report
refactored monkey patching; added test cases