work on iterateChildren