Add AVL

Work on Issue #38