重构了resource的结构