rename non recursive descend method