change the listener