transitioning to Iterator