Implementing Serialize

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