fixed event leak