updated part 1