completed 4-1, needs some improvement on step 3