updated AVLTree