weekend project to implement AVL binary tree