Implement ch3.5.3's examples (in progress)