automatically create iterators @ runtime