Documentation, plus smarter iterator (shuffle indices instead of objects)