nice DRY diffing (templates do not have to be duplicated!)