fix fisher-yates shuffle