Add shuffle functionality

@deini @alexmckenley