add event and tests