minimal re-arrange