重构model类，使得扩展性更好