thru problem 3 complete