modified fisher-yates-shuffle