fixed event controller