merge shirui branch