extends: updated shuffle method