added reformulation with differential