functions that give/take balances returns the new balacne