better way to generate a permutation?