working on the AVL Tree