serialization/deserialization refactor