Check out
Jon Ehrlich’s
Shuffle