added part 3,4,5