rebuilt serialization/deserialization; started working on messages; got tests passing