Added balancing on the BST