describe how balance-text() works