moved source diffing to the library part and exported