even if reportFunction is a shit, it works like a charm, now with multiple states
even if reportFunction is a shit, it works like a charm, now with multiple states