[Yujun] Refactoring