buffered tree
fireing updated only when needed
fixed recursive tree updates