add array marshalling