reorder struct