data collection and report generation