add interfaces: Resource and ResourceType