basic support for value object ser/deser