a simple avl tree implementation in c