updated iterator - working now