better support for events (WIP)