improve BST utils