made event a struct