Author: Kegong Cheng
Dates: active 1656