Author: Wenbing Wu
Dates: active 1800