add balance check