iterator working, passing all tests