shared pointer for local RI
return shared_ptr to RI