copy souces from ch02 here.