functions through step 2
functions through step 3
functions through Step 4
functions through Step 5