Custom serialization

This section has not been written yet, but you're very welcome to contribute!