vector string implementation