Implement ch2.3.3's examples (in progress)