return a shuffled copy