root iteration support