started AVL implementation. Implements tree interface because oop is nice and it makes for sense to implement tree than subclass it