events implementation improvement