revised for part 2