diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java
index b90c086be3d7e1cbe9756a2c69b2d58885daea6c..f8531d56ae5533bae0695d3d657f2569f8305b8a 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java
@@ -8,6 +8,7 @@ import java.util.List;
 import java.util.Map;
 
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.netcdf.data.NetcdfData;
 import gov.usgs.earthquake.nshmp.netcdf.data.NetcdfDataHazardCurves;
 import gov.usgs.earthquake.nshmp.netcdf.data.NetcdfShape;
 import gov.usgs.earthquake.nshmp.netcdf.data.NetcdfShape.IndexKey;
@@ -36,21 +37,13 @@ public class ReaderHazardCurves extends Reader {
 
   @Override
   NetcdfDataHazardCurves readData(Group targetGroup) throws IOException {
-    var coords = super.readData(targetGroup);
+    NetcdfData netcdfData = super.readData(targetGroup);
     var vImls = targetGroup.findVariableLocal(Key.IMLS);
 
     // get map of IMLs
-    var imls = mapImls(vImls, coords.imts());
+    var imls = mapImls(vImls, netcdfData.imts());
 
-    return NetcdfDataHazardCurves.builder()
-        .imls(imls)
-        .imts(coords.imts())
-        .latitudes(coords.latitudes())
-        .longitudes(coords.longitudes())
-        .scienceBaseMetadata(coords.scienceBaseMetadata())
-        .siteClasses(coords.siteClasses())
-        .vs30Map(coords.vs30Map())
-        .build();
+    return new NetcdfDataHazardCurves(netcdfData, imls);
   }
 
   @Override