add tree traverse