working on event definition