event interface fixed