diff --git a/src/dice_standalone_main.c b/src/dice_standalone_main.c
index 605494f..5d68b9e 100644
--- a/src/dice_standalone_main.c
+++ b/src/dice_standalone_main.c
@@ -60,7 +60,10 @@
 int main(int argc, char** argv) {
   (void)argc;
   (void)argv;
-  const DiceOps ops = {0, FakeHash, FakeKdf, FakeCertificate, DiceClearMemory};
+  const DiceOps ops = {.hash = FakeHash,
+                       .kdf = FakeKdf,
+                       .generate_certificate = FakeCertificate,
+                       .clear_memory = DiceClearMemory};
   uint8_t cdi_buffer[DICE_CDI_SIZE];
   uint8_t cert_buffer[2048];
   size_t cert_size;
diff --git a/src/dice_with_boringssl_ops_main.c b/src/dice_with_boringssl_ops_main.c
index 0be4639..3906117 100644
--- a/src/dice_with_boringssl_ops_main.c
+++ b/src/dice_with_boringssl_ops_main.c
@@ -21,8 +21,10 @@
 int main(int argc, char** argv) {
   (void)argc;
   (void)argv;
-  const DiceOps ops = {0, DiceBsslHashOp, DiceBsslKdfOp,
-                       DiceBsslGenerateCertificateOp, DiceClearMemory};
+  const DiceOps ops = {.hash = DiceBsslHashOp,
+                       .kdf = DiceBsslKdfOp,
+                       .generate_certificate = DiceBsslGenerateCertificateOp,
+                       .clear_memory = DiceClearMemory};
   uint8_t cdi_buffer[DICE_CDI_SIZE];
   uint8_t cert_buffer[2048];
   size_t cert_size;
diff --git a/src/dice_with_cbor_cert_main.c b/src/dice_with_cbor_cert_main.c
index ecc757f..7d59308 100644
--- a/src/dice_with_cbor_cert_main.c
+++ b/src/dice_with_cbor_cert_main.c
@@ -22,8 +22,10 @@
 int main(int argc, char** argv) {
   (void)argc;
   (void)argv;
-  const DiceOps ops = {0, DiceBsslHashOp, DiceBsslKdfOp,
-                       DiceGenerateCborCertificateOp, DiceClearMemory};
+  const DiceOps ops = {.hash = DiceBsslHashOp,
+                       .kdf = DiceBsslKdfOp,
+                       .generate_certificate = DiceGenerateCborCertificateOp,
+                       .clear_memory = DiceClearMemory};
   uint8_t cdi_buffer[DICE_CDI_SIZE];
   uint8_t cert_buffer[2048];
   size_t cert_size;
diff --git a/src/dice_with_cbor_template_cert_main.c b/src/dice_with_cbor_template_cert_main.c
index ecaea07..b54f12d 100644
--- a/src/dice_with_cbor_template_cert_main.c
+++ b/src/dice_with_cbor_template_cert_main.c
@@ -22,9 +22,11 @@
 int main(int argc, char** argv) {
   (void)argc;
   (void)argv;
-  const DiceOps ops = {0, DiceBsslHashOp, DiceBsslKdfOp,
-                       DiceGenerateCborCertificateFromTemplateOp,
-                       DiceClearMemory};
+  const DiceOps ops = {
+      .hash = DiceBsslHashOp,
+      .kdf = DiceBsslKdfOp,
+      .generate_certificate = DiceGenerateCborCertificateFromTemplateOp,
+      .clear_memory = DiceClearMemory};
   uint8_t cdi_buffer[DICE_CDI_SIZE];
   uint8_t cert_buffer[2048];
   size_t cert_size;
diff --git a/src/dice_with_mbedtls_ops_main.c b/src/dice_with_mbedtls_ops_main.c
index 60dc5d3..e130a7b 100644
--- a/src/dice_with_mbedtls_ops_main.c
+++ b/src/dice_with_mbedtls_ops_main.c
@@ -21,8 +21,10 @@
 int main(int argc, char** argv) {
   (void)argc;
   (void)argv;
-  const DiceOps ops = {0, DiceMbedtlsHashOp, DiceMbedtlsKdfOp,
-                       DiceMbedtlsGenerateCertificateOp, DiceClearMemory};
+  const DiceOps ops = {.hash = DiceMbedtlsHashOp,
+                       .kdf = DiceMbedtlsKdfOp,
+                       .generate_certificate = DiceMbedtlsGenerateCertificateOp,
+                       .clear_memory = DiceClearMemory};
   uint8_t cdi_buffer[DICE_CDI_SIZE];
   uint8_t cert_buffer[2048];
   size_t cert_size;
diff --git a/src/dice_with_x509_template_cert_main.c b/src/dice_with_x509_template_cert_main.c
index d74f52e..2cc16b5 100644
--- a/src/dice_with_x509_template_cert_main.c
+++ b/src/dice_with_x509_template_cert_main.c
@@ -22,8 +22,11 @@
 int main(int argc, char** argv) {
   (void)argc;
   (void)argv;
-  const DiceOps ops = {0, DiceBsslHashOp, DiceBsslKdfOp,
-                       DiceGenerateCertificateFromTemplateOp, DiceClearMemory};
+  const DiceOps ops = {
+      .hash = DiceBsslHashOp,
+      .kdf = DiceBsslKdfOp,
+      .generate_certificate = DiceGenerateCertificateFromTemplateOp,
+      .clear_memory = DiceClearMemory};
   uint8_t cdi_buffer[DICE_CDI_SIZE];
   uint8_t cert_buffer[2048];
   size_t cert_size;
