More work in progress on data marshaling code