Refactor the step 3 feature