Check out
Max Korpela’s
Shuffle