new array layout
fix structs