Changed shuffle to work on a normal list in O(n).