rebalance after taking smallest
test for take_smallest