actually addded report function