Author: Kui Jiang
Dates: ca.