changed StringDiffer slightly and added functionality for TupleDiffer