a bunch of rebalancing and new features