add mapIterator