[Wen Hao] - refactored.
[Wen Hao] - refactored.