add smart_str