refactor iterators to only offer simple static methods that return the expected result.