implemented step 1c