This is harder than I thought.