Special thanks to Pat Reilly for his
modified version of this programme.