add marshalling for participant