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.