This is hard.