change iterators to recursors