https://wkmr.liao.media/wiki/CNPP_Intro?action=edit&section=3