Jianfeng/refactor