replace std::shared_ptr's