an enhanced string class based on std::string