Inspired by
User797's
Shuffle