merge with the branch from git.oschina.com