@sixteenstone did this, and I thought eh, I have some time to spare. End result: more accurate than I expected.