completed part 2 coding exercises (second time through)