add AppendIterator