Completed part 3