[Yujun] Refactoring.