reporting logic