Written by Tom Rhodes This file is in the public domain.