Reporting function abstracted