Implement ch3.5.1's examples (in progress)