revise the shuffle