new tree system in the cpp client