another pass at preserving previous ser/deser