event adapter etc