Update: calculate init, then build diffs