step3() and step4() fixed