added base class for report generation