Added repeat and shuffle functionality