diff --git a/src/bmtf_orbit_processor.cc b/src/bmtf_orbit_processor.cc
index d3ed81cb757175856ef5c5b6e6019fa787ce7c07..a07241d26b452a247c1dc390e57e816afdfb151e 100644
--- a/src/bmtf_orbit_processor.cc
+++ b/src/bmtf_orbit_processor.cc
@@ -32,8 +32,7 @@ int BmtfOrbitProcessor::ProcessBlock(uint32_t bx, uint32_t orbit, bool has_heade
   // as well as the warning test enable flag.
   uint32_t header = uint32_t{(static_cast<uint32_t>(has_header) << 8) + bx_data.count};
   writer.Fill(BxMetadataType{header, bx, orbit});
-
-  bx_data.FillBuffer(writer.GetDoublePtr());
+  writer.Fill(bx_data.GetBuffer(), bx_data.GetSize());
 
   return bx_data.count;  // Original incremented counts by sCount
 }
\ No newline at end of file
diff --git a/src/calo_sum_orbit_processor.cc b/src/calo_sum_orbit_processor.cc
index 51ef7a9aa99d814a83d2915fc24965ee23af6a5f..6ce991b076033e2469249f24b65bd1b91276a4f7 100644
--- a/src/calo_sum_orbit_processor.cc
+++ b/src/calo_sum_orbit_processor.cc
@@ -11,20 +11,15 @@ int CaloSumOrbitProcessor::ProcessBlock(uint32_t bx, uint32_t orbit, bool, Write
 
   using SourceDataType = blockCaloSum;
   using SinkDataType = uint32_t;
-  using BxMetadata = DataBuffer<BxMetadataType, 1>;
-  const uint32_t source_data_length = 6;
+  //  const uint32_t source_data_length = 6;
 
   assert(reader.CheckBounds(sizeof(SourceDataType)));
   assert(writer.CheckBounds(GetPacketSize()));  // Max size a decoded block can use
 
   SourceDataType *bl = reader.Scan<SourceDataType>();
-
-  writer.Fill(BxMetadataType{bx, orbit});
-
   //  BxData<SinkDataType, source_data_length> bx_data;
-
-  memcpy(*writer.GetDoublePtr(), (char *)&bl->calo_sum, sizeof(bl->calo_sum));
-  (*writer.GetDoublePtr()) += sizeof(bl->calo_sum);
+  writer.Fill(BxMetadataType{bx, orbit});
+  writer.Fill(bl->calo_sum, sizeof(bl->calo_sum));
 
   return 6;  // Original left counts at zero
 }
\ No newline at end of file
diff --git a/src/orbit_processor.h b/src/orbit_processor.h
index 8f23f26b4b89201ac01200c331376e004e2b517f..f737747f571aaa91357e71d390f6141e080367c5 100644
--- a/src/orbit_processor.h
+++ b/src/orbit_processor.h
@@ -38,11 +38,7 @@ class OrbitProcessor : public Processor {
 
     void Add(T v) { data[count++] = v; }
 
-    void FillBuffer(char **write_pointer) {
-      memcpy(*write_pointer, &data, GetSize());
-      (*write_pointer) += GetSize();
-    }
-
+   private:
     const static uint32_t max_elem = N;
     T data[max_elem];
     uint32_t count = 0;
diff --git a/src/ugt_orbit_processor.cc b/src/ugt_orbit_processor.cc
index 340811e4ccb89b0491ad1850f5928be00d8bc941..695848990c4553b379e582a14d28872a41862240 100644
--- a/src/ugt_orbit_processor.cc
+++ b/src/ugt_orbit_processor.cc
@@ -10,7 +10,6 @@ int UgtOrbitProcessor::ProcessBlock(uint32_t bx, uint32_t orbit, bool, Writeable
   };
 
   using SourceDataType = blockUgt;
-  //  using BxMetadata = DataBuffer<BxMetadataType, 1>;
 
   assert(reader.CheckBounds(sizeof(SourceDataType)));
   assert(writer.CheckBounds(GetPacketSize()));  // Max size a decoded block can use