working AVL!!