My solution follows the same outline that Chris posted. Give me a moment and I'll dig one out for you.