v2.0 update public: add check_self to public_type