Added everything from ch2.