made a better hierarchy for events