add shared_ptr