add unit test, extend TreeBehavior