split iterate / unrolling in two nested structs