improvements to balance_string (I hope)
converted to tabs
changed test... attr order is different