Uses DiffRowGenerator