refactor event location form and associated functions