refactored diff and finished revision spec