first pass at writing the differential merging tool