>A minor philosophical point - ajStrNew does not allocate space for a >string - it returns an extra reference-counted copy of the internal >empty string. When you first use it, then it makes a new string. But that's just an implementation detail of something that is better regarded as a more standard constructor. Alan