fixed bugs and added set for std::string