made messages serializable, because adding an attribute makes a type much more serializable