Differ refactoring