Removed use of boost::shared_ptr, replaced with std::shared_ptr