fixed event handler unlisten