This is much harder than it looks