Patch by Denver Coneybeare with some test modifications by me.
Attach a file by drag & drop or click to upload