register custom (de)serialization