implement the shuffle feature

1. v1.1 release
2. add the shuffle functionality