Yet another solution.  This one is worse than the others.