updated part 3