added part 2 to part 3