complete the listener