update step-by-step