events emit key and val