source tree structure