Implement ch4.2.2's examples (in progress)