Author: Jiache Shen
Dates: active 1729