update permutation and etc