array structure redo