use std::string::append whenever possible