This deserves a thread of its own.