adapt event interface