add initial `Iterator` support