Check out
Emily Weaver’s
Shuffle

more appropriate version