faster shuffle() function

All tests passing