added event-add function