implemented DifferenceController - changed interface