Iterator fixed. testiong needed