adding avl tree operations