This is very hard.