fixed event processing