provide MessageIterator instead of Iterable