fixed shuffle function - for real this time!