Implement ch2.3.2's examples
Answer ex2.56
Answer ex2.57