added Event class definition