Commented part 2 and 3.