rename Resource to ResourceProvider