size must be (maxStringLen+1)