shuffle functionally fully working now