add random permutation generator