working on trees. untested branch. v0 for branch.