transfer some article from cnblog.