marshalling the object