Use boost::shared_ptr instead of std::shared_ptr