add mapToIterator