better reordering