do we want to expand? i like the idea of leaving as an iterator