Author: Xueli Zhang
Dates: active 1589