patch submitted by zach@math.berkeley.edu, additional commentary by cyeh@bluemartini.com.
Attach a file by drag & drop or click to upload