add event_listener_layer to reduce event spread