updated step-1, step-2