http://www.kylesterry.plus.com/blog/2006/10/11/overdraft_chaos/