first own tree implementation