Refactoring with relations : a new method for refactoring object-oriented software