iterator implementation is added, tests are updated