using stringstream instead of std::to_string