more structs for state