Implement ch2.5.3's examples (in progress)