added avro serialization