fix removeListener