diff without changing first value implemented