added fixed event logic