change the way of unbinding the listener