this is so hard.