Author: Yu, Luojin.