part 4 code done