Add tests
Implement the Iterator interface