more serialize / deserialize refactor