can't have protected members in structs