added part C. D is still missing