Added uniform, equalikely, and shuffle. Untested