add event struct