implemented Avro DatumReader and DatumWriter interfaces