further serialization work