message用前置声明，不用include