oh well, i've been working with files since i started with gwbasic, (so don't tell me what to do hehe )

what i meant is that each type containing dynamical arrays or string should be preceeded with a header type, just containing the sizes of the strings/arrays used, and the good part is that you can choose whether to use byte, integer or longs as descriptors.
Redim the the arrays after getting the header and space the strings. Nested dynamical types require nested loops for filling the arrays (this get's really complicated with huge types and i'm currently developing a code generator for it)
Lord orwell sample happens to work because the string was already filled