Inspired by
TinyE's
Shuffle