http://www.geocities.com/heartland/b.../nov98pat.html