shuffling implemented, very slow