[Yujun] Refactorinh.