3.0 tree behavior pt3

- Used transactions where possible
- Added findTreeList as a replacement for generateTreeList