Optimization + update.