Separated Node and Tree and add  a restrict to subtree method