improvements to serialization model