continue serialize / deserialize refactor