commit only if changes!