moved diff into a new pub package