+ use const std::unique_ptr< []> instead of boost::scoped_array