My implementation of AVL tree