Solve conflicts between commit and master branch

The version in previous pull by Lidienfu contains older version of Ch.
21, 22, so all commits cannot be merged.
I just solve the conflicts, fix some typo and hyperlink then pull again.
Merge pull request #7 from CrystalTu/master

Solve conflicts between still-open pull and master branch