Patch by Pantelis Antoniou, 04 Sep 2005
Patch by Art Shipkowski, 12 May 2005 Cleanup.
Patch by James MacAulay, 07 Oct 2005