permutation update