The way I did that when I had the problem was to save each item pointers and all into the record (along with the address of each one tacked on to the front of the record). When I loaded them back in, I constructed a table of old-address to new-address mappings. I then went through each one and fixed the pointers. -Ron