recursive tree renderer