(fork from http://chutzpah.codeplex.com to play with here because I don't really like codeplex)