Rewrote avl_tree to make more sense. Still not done though. made lots of comments