add report generation skeleton