TODO set_balance