more compact diff