NEW: implemented a diff comparer and it seems to actually work