New iterator Implementation