Add shuffle feature and fix repeat/shuffle on/off