restructured report generation code, created ReportObject classes