permutation structure