structs halfway