- correct the Iterator pattern