working on event interface