adding smart BST things