add ReportBuilder
move functionality to ReportBuilder