refactored ReportBuilder.java