a whole bunch of bits

add permutation generator