Implement ch2.4.3's examples (in progress)