finally compiling just need to do step 3