add specific overload of shared_ptr