:internal: start with iterator implementation for tree structure