added string permutation