Inspired by
FasterThanU's
Shuffle