forked from: List shuffle

