a markable iterator and some tests