重构模型，加入server