copyright 1992 Stephen O'Keefe