event list implementation