I forgot to issue a pull request earlier

This is code is really gross! So I didn't do the overdraft protection part because I would have wound my mind up like Jackson Pollock's Autumn Rhythm. I tried to refactor and make it more malleable, but then it broke! So I unrefactored but it's still very unpleasant.