Original source downloaded from Vintage Basic Conversion to Microsoft C# by James Curran (http://www.noveltheory.com)