marginal updates