Oops, it's a bit uglier than I thought.