http://webpages.charter.net/stormking/Chapter5/selfhelp.html