tree generation