Author: Junliang Dai
Dates: active 2007