event class, public