v2.0 update public: optimize pubic type