massive event handling overhaul