causal updates