优化了adapter