Author: Nguyen-van-Thuan.