Chris Lawrence sent me a broken version; this one is a tad simpler and more conforming to the standard.