implemented BinarySearchTree