iterator base methods