impl permutation
styles