migrate to c++11 (replace std::make_unique)