First pull from qiuhua's branch.

Merge RF from qiuhua.