work in progress: hooking up events