refactoring to seperate eventlist