switched from tree.hh to tree.h, and it was tricky. tree.h has a more permissive license though