add ctor param: resource::common