add Event struct