the first try for AVL tree.