added boost namespace to a few make_shared functions, the previous code may have compile errors because of ambiguous std::make_shared and boost::make_shared