1.refactor resource layer
2.refactor service layer