implemented permutations. :))