added shuffling and volume control