depth tree iterator