Add in negative balance support