imported Brian's updated version of BalancedTree