add step1 function