finalized 0.3.2.2.0 with thanks to Yixuan Qiu