Add plus some marshalling and unmarshalling methods