adding fisher-yates, knuth shuffling