another cut at rebalancing plus more Issue #181 tests added and refactored ... will make another pass at test case to ensure we have good coverage