I wrote this so I can share it.