complex diff seems to work