switch to event interfaces