Refactoring the coding

add new class: ReportMaker