added report generation