complete up to step 5
complete up to step 6