add recursive tree