diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/TestSitesController.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/TestSitesController.java
index 4a1b436e5f6f33e564ff57ff32d23b7c43a545ba..751e8e5319ba3270ff7e886917e5e968ea4aad3f 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/TestSitesController.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/TestSitesController.java
@@ -4,7 +4,7 @@ import java.nio.file.Path;
 
 import gov.usgs.earthquake.nshmp.geo.json.FeatureCollection;
 import gov.usgs.earthquake.nshmp.netcdf.NetcdfDataFilesHazardCurves;
-import gov.usgs.earthquake.nshmp.netcdf.www.TestSitesService.RequestData;
+import gov.usgs.earthquake.nshmp.netcdf.www.FeatureCollectionService.RequestData;
 import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
 import gov.usgs.earthquake.nshmp.www.ResponseBody;
 
@@ -26,9 +26,10 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.inject.Inject;
 
-@Tag(name = TestSitesService.NAME)
+@Tag(name = TestSitesController.NAME)
 @Controller("/sites")
 public class TestSitesController {
+  static final String NAME = "Test Sites";
 
   @Inject
   private NshmpMicronautServlet servlet;
@@ -64,9 +65,11 @@ public class TestSitesController {
       HttpRequest<?> http,
       @QueryValue(defaultValue = "false") @Nullable Boolean raw) {
     try {
-      return HttpResponse.ok(TestSitesService.handleSites(http, service.netcdf(), raw));
+      FeatureCollection sites = service.netcdf().netcdfData().sites();
+      return HttpResponse
+          .ok(FeatureCollectionService.handleFeatureCollection(http, NAME, sites, raw));
     } catch (Exception e) {
-      return NetcdfWsUtils.handleError(e, TestSitesService.NAME, http.getUri().toString());
+      return NetcdfWsUtils.handleError(e, NAME, http.getUri().toString());
     }
   }