Add initial tree implementation