This is @mcallahan's patch — see #35. I had to apply this diff by hand, because both `git` and `patch` refused to apply it and I didn't know how to resolve that. Consequently, there might be an error.