event interface, we only need to know about key