change pow to std::pow