use c++11 language features.
replace 'make_shared' with 'New'.