2nd way to implement BST