most of step 4.