We need a better name. It's the iterator