implements report generation module