implement Resource