reordering structs to actually map properly