Refactored the Report class