main event and event location refactoring