chapter 12 exercise
Merge branch 'master' of github.com:lxliangit/code_backup