iterator integration