Created by: baojun-nervana
5 file changes (spit into 2 PRs to restrict file change to be less than 20)