impoved logic, deleted addEvent methods