removed the recursive rebalance