started refactoring the events for more clarity