refactor diffindo.cs