use std::string
merge with SVN master.