rework resource class so all init is handled by base. sync to begin work on new cache api.