改进data实现