diff --git a/mpact/sim/decoder/instruction_set.cc b/mpact/sim/decoder/instruction_set.cc
index 6962cac..aa2f0fc 100644
--- a/mpact/sim/decoder/instruction_set.cc
+++ b/mpact/sim/decoder/instruction_set.cc
@@ -712,7 +712,7 @@
       absl::StrAppend(&output, "  // Source array operand ", op_name, "\n");
       absl::StrAppend(
           &output,
-          "  result = encoder->GetListSourceOpEncoding(address, operands[",
+          "  result = encoder->GetListSrcOpEncoding(address, operands[",
           position,
           "], slot, "
           "entry, opcode, ",
@@ -782,12 +782,12 @@
   virtual absl::StatusOr<uint64_t> GetDestOpEncoding(uint64_t address,
       absl::string_view text, SlotEnum slot, int entry, OpcodeEnum opcode,
       DestOpEnum dest_op, int dest_num, ResolverInterface *resolver) = 0;
+  virtual absl::StatusOr<uint64_t> GetListSrcOpEncoding( uint64_t address,
+      absl::string_view text,SlotEnum slot, int entry, OpcodeEnum opcode,
+      ListSourceOpEnum source_op, int source_num, ResolverInterface *resolver) = 0;
   virtual absl::StatusOr<uint64_t> GetListDestOpEncoding(uint64_t address,
       absl::string_view text, SlotEnum slot, int entry, OpcodeEnum opcode,
       ListDestOpEnum dest_op, int dest_num, ResolverInterface *resolver) = 0;
-  virtual absl::StatusOr<uint64_t> GetListSourceOpEncoding( uint64_t address,
-      absl::string_view text,SlotEnum slot, int entry, OpcodeEnum opcode,
-      ListSourceOpEnum source_op, int source_num, ResolverInterface *resolver) = 0;
   virtual absl::StatusOr<uint64_t> GetPredOpEncoding(uint64_t address,
       absl::string_view text, SlotEnum slot, int entry, OpcodeEnum opcode,
       PredOpEnum pred_op, ResolverInterface *resolver) = 0;
diff --git a/mpact/sim/decoder/slot.cc b/mpact/sim/decoder/slot.cc
index 93386ff..d3e2964 100644
--- a/mpact/sim/decoder/slot.cc
+++ b/mpact/sim/decoder/slot.cc
@@ -465,13 +465,13 @@
       class_name,
       "();\n"
       "  absl::Status Initialize();\n"
+      "absl::StatusOr<std::tuple<uint64_t, int>> "
+      "Encode(uint64_t address, absl::string_view text, int entry, "
+      "ResolverInterface *resolver);\n\n"
+      " private:\n"
       "  bool Match(absl::string_view text, std::vector<int> &matches);\n"
       "  bool Extract(absl::string_view text, int index, "
       "std::vector<std::string> &values);\n"
-      "absl::StatusOr<std::tuple<uint64_t, int>> "
-      "Encode(uint64_t address, absl::string_view text, int entry, "
-      "ResolverInterface *resolver);\n"
-      " private:\n"
       "  ",
       encoder,
       " *encoder_;\n"
diff --git a/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.cc b/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.cc
index 03734c1..eab7024 100644
--- a/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.cc
+++ b/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.cc
@@ -85,7 +85,7 @@
   return iter->second(address, text, resolver);
 }
 
-absl::StatusOr<uint64_t> RiscV64XBinEncoderInterface::GetListSourceOpEncoding(
+absl::StatusOr<uint64_t> RiscV64XBinEncoderInterface::GetListSrcOpEncoding(
     uint64_t address, absl::string_view text, SlotEnum slot, int entry,
     OpcodeEnum opcode, ListSourceOpEnum source_op, int source_num,
     ResolverInterface *resolver) {
diff --git a/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.h b/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.h
index 78bbf4c..e837a64 100644
--- a/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.h
+++ b/mpact/sim/util/asm/test/riscv64x_bin_encoder_interface.h
@@ -56,7 +56,7 @@
       uint64_t address, absl::string_view text, SlotEnum slot, int entry,
       OpcodeEnum opcode, ListDestOpEnum dest_op, int dest_num,
       ResolverInterface *resolver) override;
-  absl::StatusOr<uint64_t> GetListSourceOpEncoding(
+  absl::StatusOr<uint64_t> GetListSrcOpEncoding(
       uint64_t address, absl::string_view text, SlotEnum slot, int entry,
       OpcodeEnum opcode, ListSourceOpEnum source_op, int source_num,
       ResolverInterface *resolver) override;
