Author: Quang-Loi.