add PeekingIteratorWrapper
wip