I must confess, I wrote these and several others some time ago (I keep them on my website). Occasionally I get the opportunity to trot them out again.
ah. cheater. I approve.