External data representation and marshaling

External Data Representation