This stuff writes itself.