skip update if no changes