BST - AVL part implementation