a lot

update double ** to std::vector, using class,  return *this