added pseudo-shuffle functionality