added removal of listener