shuffling and enumeration