added node iterator + base tree