diff --git a/gradle.properties b/gradle.properties
index e4fda75352ee89f0f5faa992e5c865b233f32e98..35bb54459a126129e96ea4e86ee43494464a614a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -9,8 +9,7 @@ micronautAppVersion = 3.7.10
 micronautVersion = 3.10.1
 nodePluginVersion = 3.0.1
 nodeVersion = 16.3.0
-nshmpLibVersion = 1.5.9
-nshmpUtilsJavaVersion = 0.4.0
+nshmpLibVersion = 1.6.1
 openApiVersion = 4.0.0
 shadowVersion = 7.1.2
 spotbugsVersion = 4.7.3
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 8440bb3ac24565aae6d7b9059fff4bb645862db1..1bfbad2d722af6aed5263570ea0e2443647b4031 100644
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -6,7 +6,6 @@ dependencies {
   } else {
     implementation "ghsc:nshmp-lib:${nshmpLibVersion}"
   }
-  implementation "ghsc:nshmp-utils-java:${nshmpUtilsJavaVersion}"
 
   // Git
   implementation "org.eclipse.jgit:org.eclipse.jgit:${jgitVersion}"
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/HazVersion.java b/src/main/java/gov/usgs/earthquake/nshmp/www/HazVersion.java
index b3c072cb07703efaeff8e8dfb17a9c8ace4d6ddd..b6064f38c6d299997addece7dfb24c536dba2f4c 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/HazVersion.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/HazVersion.java
@@ -30,7 +30,6 @@ public class HazVersion implements AppVersion {
     var versions = new ArrayList<VersionInfo>();
     versions.add(new HazVersion().getVersionInfo());
     versions.add(new LibVersion().getVersionInfo());
-    versions.add(new WsUtilsVersion().getVersionInfo());
 
     return versions.toArray(new VersionInfo[0]);
   }
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/ServicesUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/ServicesUtil.java
index 35032bae952860beb17a42ff8cf7b0a5a814eb0f..91dcc1ee0d5b488182a0966957aebc02e563665d 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/ServicesUtil.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/ServicesUtil.java
@@ -8,6 +8,7 @@ import gov.usgs.earthquake.nshmp.calc.CalcConfig;
 import gov.usgs.earthquake.nshmp.calc.Hazard;
 import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
 import gov.usgs.earthquake.nshmp.calc.Site;
+import gov.usgs.earthquake.nshmp.internal.www.WsUtils;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 
 public class ServicesUtil {
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java
index 448a30b0584101b944b09e33898506c1da5092bf..82a29395b16cca31a535e40f1ebde9c553160ed8 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java
@@ -30,6 +30,9 @@ import com.google.gson.JsonSerializer;
 import gov.usgs.earthquake.nshmp.calc.Site;
 import gov.usgs.earthquake.nshmp.calc.ValueFormat;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
+import gov.usgs.earthquake.nshmp.internal.www.WsUtils;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.meta.MetaUtil;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
index ee6affd7fd63c5bb18f80e8809222059603dd644..ffcaed60347c9be405c2e53deb426d0706d46940 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
@@ -1,11 +1,16 @@
 package gov.usgs.earthquake.nshmp.www;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
 import org.slf4j.LoggerFactory;
 
+import gov.usgs.earthquake.nshmp.geo.Location;
+import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.source.FeaturesService;
 
@@ -20,7 +25,9 @@ import io.swagger.v3.oas.annotations.Hidden;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.Paths;
+import io.swagger.v3.oas.models.media.Schema;
 import io.swagger.v3.parser.OpenAPIV3Parser;
+import io.swagger.v3.parser.util.SchemaTypeUtil;
 import jakarta.inject.Inject;
 
 /**
@@ -130,9 +137,9 @@ public class SwaggerController {
     var bounds = model.bounds();
     var components = openApi.getComponents();
     var schemas = components.getSchemas();
-    SwaggerUtils.siteClassSchema(schemas, List.copyOf(model.siteClasses().keySet()));
-    SwaggerUtils.imtSchema(schemas, List.copyOf(model.config().hazard.imts));
-    var boundsInfo = SwaggerUtils.locationBoundsInfo(bounds.min, bounds.max, Optional.empty());
+    siteClassSchema(schemas, List.copyOf(model.siteClasses().keySet()));
+    imtSchema(schemas, List.copyOf(model.config().hazard.imts));
+    var boundsInfo = locationBoundsInfo(bounds.min, bounds.max, Optional.empty());
     FeaturesService.featureTypeSchema(schemas);
 
     openApi.getInfo().setTitle(model.name() + " Web Services");
@@ -143,4 +150,58 @@ public class SwaggerController {
 
     return openApi;
   }
+
+  /**
+   * Returns updated Swagger schemas with provided IMTs.
+   *
+   * @param imts The IMTs
+   */
+  private static Map<String, Schema> imtSchema(
+      Map<String, Schema> schemas,
+      List<Imt> imts) {
+    var schema = new Schema<String>();
+    schema.setType(SchemaTypeUtil.STRING_TYPE);
+    imts.stream()
+        .sorted()
+        .forEach(imt -> schema.addEnumItemObject(imt.name()));
+
+    schemas.put(Imt.class.getSimpleName(), schema);
+    return schemas;
+  }
+
+  /**
+   * Returns markdown string listing the min and max location bounds.
+   *
+   * @param min The minimum bounds
+   * @param max The maximum bounds
+   * @param heading The Markdown heading value. Default: ###
+   */
+  private static String locationBoundsInfo(Location min, Location max, Optional<String> heading) {
+    return new StringBuilder()
+        .append(heading.orElse("###") + " Latitude Bounds\n")
+        .append(String.format("- Minimum Latitude: %s°\n", min.latitude))
+        .append(String.format("- Maximum Latitude: %s°\n", max.latitude))
+        .append(heading.orElse("###") + " Longitude Bounds\n")
+        .append(String.format("- Minimum Longitude: %s°\n", min.longitude))
+        .append(String.format("- Maximum Longitude: %s°\n", max.longitude))
+        .toString();
+  }
+
+  /**
+   * Returns updated Swagger schemas with provided site classes.
+   *
+   * @param siteClasses The NERHP site classes
+   */
+  private static Map<String, Schema> siteClassSchema(
+      Map<String, Schema> schemas,
+      List<NehrpSiteClass> siteClasses) {
+    var schema = new Schema<NehrpSiteClass>();
+    schema.setType(SchemaTypeUtil.STRING_TYPE);
+    siteClasses.stream()
+        .sorted()
+        .forEach(siteClass -> schema.addEnumItemObject(siteClass));
+
+    schemas.put(NehrpSiteClass.class.getSimpleName(), schema);
+    return schemas;
+  }
 }
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmController.java
index c9ff40c624ddf08a7763cbe84586f07ef67ea35c..441d761503376122bb985bebc0f630ae697e2e58 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmController.java
@@ -6,7 +6,7 @@ import java.util.Set;
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
 import gov.usgs.earthquake.nshmp.gmm.GmmInput;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Distance;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Id;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Magnitude;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmService.java
index b4b5587fec5bb67848770678343613f4b2b91d60..4a6e933975019118c94698189eaa0773186964d6 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmService.java
@@ -16,9 +16,9 @@ import gov.usgs.earthquake.nshmp.data.XySequence;
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
 import gov.usgs.earthquake.nshmp.gmm.GmmInput;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmCalc.EpiBranch;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmCalc.GmmDataXs;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmCalc.GmmSpectraData;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/ServiceUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/ServiceUtil.java
index d4ad5af48931ddb287659f3ac652e00f2524675d..eded34d67d98a3c291183b9690c6e1d226107687 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/ServiceUtil.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/ServiceUtil.java
@@ -44,13 +44,13 @@ import gov.usgs.earthquake.nshmp.gmm.GmmInput;
 import gov.usgs.earthquake.nshmp.gmm.GmmInput.Constraints;
 import gov.usgs.earthquake.nshmp.gmm.GmmInput.Field;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
+import gov.usgs.earthquake.nshmp.internal.www.WsUtils;
+import gov.usgs.earthquake.nshmp.internal.www.meta.EnumParameter;
 import gov.usgs.earthquake.nshmp.model.TectonicSetting;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
-import gov.usgs.earthquake.nshmp.www.WsUtils;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Id;
-import gov.usgs.earthquake.nshmp.www.meta.EnumParameter;
 
 import io.micronaut.http.HttpParameters;
 import io.micronaut.http.HttpRequest;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/Utils.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/Utils.java
index 66668f228229a11c4f7ac2e24aee0e28c8becea7..82a8a384464f3b823ae0bfb132fcad0a19121b45 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/Utils.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/Utils.java
@@ -6,9 +6,9 @@ import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 
 public class Utils {
   public static final Gson GSON;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggController.java
index 1d7c49c58a2f408c68fd0057062ffbdfe64bed69..441af251b627cd350df58af96f92ef4bb599fd59 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggController.java
@@ -7,8 +7,8 @@ import java.util.Set;
 
 import gov.usgs.earthquake.nshmp.calc.DataType;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.hazard.DisaggService.DisaggDataType;
 import gov.usgs.earthquake.nshmp.www.hazard.DisaggService.RequestIml;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java
index 290cabec9fcd621881b2fe0899c6e426e237c403..410d55a532b5e179487a1f083b7944c921ca235e 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java
@@ -32,10 +32,10 @@ import gov.usgs.earthquake.nshmp.calc.Sites;
 import gov.usgs.earthquake.nshmp.geo.Location;
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.ServletUtil.Server;
 import gov.usgs.earthquake.nshmp.www.hazard.HazardService.BaseRequest;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardController.java
index 15c4de0d62f79441ff0542301824af19d44e893a..3313c732bb7b318073cb2a2d22d892541257fdc7 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardController.java
@@ -3,8 +3,8 @@ package gov.usgs.earthquake.nshmp.www.hazard;
 import java.util.Set;
 
 import gov.usgs.earthquake.nshmp.gmm.Imt;
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.hazard.HazardService.Metadata;
 import gov.usgs.earthquake.nshmp.www.hazard.HazardService.Request;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java
index f36cd7984287d7e7af3f2e85abcf43728e7ba56b..011fefebcd736b1ed8558e5828e00ff0ceae6637 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java
@@ -33,11 +33,11 @@ import gov.usgs.earthquake.nshmp.data.XySequence;
 import gov.usgs.earthquake.nshmp.geo.Location;
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.model.SourceType;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.ServletUtil.Server;
 import gov.usgs.earthquake.nshmp.www.meta.DoubleParameter;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Metadata.java b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Metadata.java
index 194b98e89003f8920513d3026edffd7a2166af2e..0218c56bfbdc0c453aa6a659d7500329a1c689b3 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Metadata.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Metadata.java
@@ -4,6 +4,7 @@ import com.google.common.base.Stopwatch;
 import com.google.common.base.Throwables;
 
 import gov.usgs.earthquake.nshmp.geo.Coordinates;
+import gov.usgs.earthquake.nshmp.internal.www.meta.Status;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 
 /**
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeatureCollectionService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeatureCollectionService.java
index 566def814a753bc8b15929135482d8d07cdaabb4..46b8f0dba05b9f60ac2ea05c86c7749d96832b5a 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeatureCollectionService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeatureCollectionService.java
@@ -3,9 +3,9 @@ package gov.usgs.earthquake.nshmp.www.source;
 import com.google.gson.JsonElement;
 
 import gov.usgs.earthquake.nshmp.geo.json.FeatureCollection;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 
 import io.micronaut.http.HttpRequest;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesController.java
index 6ca2ed7f1307daa3ca51c0a42bdd6aa8ac16f68e..665e248898cd8e89f31c6fa699cdc3ded67486bd 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesController.java
@@ -1,7 +1,7 @@
 package gov.usgs.earthquake.nshmp.www.source;
 
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.FeaturesService.FeatureType;
 import gov.usgs.earthquake.nshmp.www.source.FeaturesService.Metadata;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesService.java
index 1477b2204e4c5aa44e9bf77cf85c9b2cca7dc71b..d02f98a6e2eb2d79fdcbe00a16cbe77a210a78e6 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/FeaturesService.java
@@ -13,12 +13,12 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.base.CaseFormat;
 
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.model.Models;
 import gov.usgs.earthquake.nshmp.model.SourceType;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.meta.Parameter;
 import gov.usgs.earthquake.nshmp.www.source.SourceService.SourceModel;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesController.java
index 7b2eb74eb1b7c7d6c5668fd6ddf43a2c044ea7a7..3e76d1d877c8ee53b659ef9e7edf17cc51e9f819 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesController.java
@@ -1,7 +1,7 @@
 package gov.usgs.earthquake.nshmp.www.source;
 
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.LogicTreesService.Metadata;
 import gov.usgs.earthquake.nshmp.www.source.LogicTreesService.RequestData;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesService.java
index ce64d2d41838c4d665860481d190a1f86d9bd631..2949668892a2256b4f2b522ec80ae603b91c19ff 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/LogicTreesService.java
@@ -3,11 +3,11 @@ package gov.usgs.earthquake.nshmp.www.source;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.model.Models;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.SourceService.SourceModel;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/MapController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/MapController.java
index dc9b524e63153c422fae639c32a61a8fb9fb3a8a..bc857a095f12b7f59c37014f60701f626793e59f 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/MapController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/MapController.java
@@ -4,8 +4,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import gov.usgs.earthquake.nshmp.geo.json.FeatureCollection;
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.FeatureCollectionService.RequestData;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsController.java
index d095575e0cc5e414cb83df199a222c249c3d0198..6b59c1c3d5484462382909a7aeaeb032e243969f 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsController.java
@@ -2,10 +2,10 @@ package gov.usgs.earthquake.nshmp.www.source;
 
 import java.util.Optional;
 
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.model.SourceType;
 import gov.usgs.earthquake.nshmp.model.TectonicSetting;
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.MfdsService.Metadata;
 import gov.usgs.earthquake.nshmp.www.source.MfdsService.RequestData;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsService.java
index b445bb90d3422a6038f0138000e1047110c1b032..7d32f352f1ba6a39a75a87351624b939399e0180 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/MfdsService.java
@@ -6,13 +6,13 @@ import java.util.Set;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.model.Models;
 import gov.usgs.earthquake.nshmp.model.SourceType;
 import gov.usgs.earthquake.nshmp.model.TectonicSetting;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.SourceService.SourceModel;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/ProbabilityController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/ProbabilityController.java
index 75a430010a7e6a32e104acf0be23d3c50d15b376..ff9b1d8ab11be6f31b2574d446e9f9ace2f4d94b 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/ProbabilityController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/ProbabilityController.java
@@ -1,7 +1,7 @@
 package gov.usgs.earthquake.nshmp.www.source;
 
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.RateService.ProbMetadata;
 import gov.usgs.earthquake.nshmp.www.source.RateService.Request;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateController.java
index 9b3cfad55545adacf35b0da02e19f15567dde3b2..78712088c2c599cb906948828013cc7b43236a9e 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateController.java
@@ -1,7 +1,7 @@
 package gov.usgs.earthquake.nshmp.www.source;
 
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.RateService.Metadata;
 import gov.usgs.earthquake.nshmp.www.source.RateService.Request;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateService.java
index e1d79e1b9b0fc4f043ccce9b9931bfc022645f0a..ca57ed0d7ff43975d0a11c57ccf0e64f6c2bdd09 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/RateService.java
@@ -21,12 +21,12 @@ import gov.usgs.earthquake.nshmp.calc.Site;
 import gov.usgs.earthquake.nshmp.data.MutableXySequence;
 import gov.usgs.earthquake.nshmp.data.XySequence;
 import gov.usgs.earthquake.nshmp.geo.Location;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.model.SourceType;
 import gov.usgs.earthquake.nshmp.model.TectonicSetting;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.ServletUtil.Server;
 import gov.usgs.earthquake.nshmp.www.meta.DoubleParameter;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceController.java
index 0b308c4d2e098c80ff32026a2c7f473a1fb3eca2..c7ce8f55bda72b1be452f9f050453db48d566f2e 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceController.java
@@ -1,7 +1,7 @@
 package gov.usgs.earthquake.nshmp.www.source;
 
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.SourceService.ResponseData;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceService.java
index 2cae2b306756b9ecc17b371e5afe3d9c5a22b422..8fb5106a3a5da1a8a1f8141f390980c8fde558f7 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/SourceService.java
@@ -12,10 +12,10 @@ import org.slf4j.LoggerFactory;
 
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.HazVersion;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
-import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.meta.Parameter;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/source/TestSitesController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/source/TestSitesController.java
index bf17b3b87b0c4660f624c4e1fc93829d1230f267..a9084e2fa96216ed4f762fecb5deb58f6a481623 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/source/TestSitesController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/source/TestSitesController.java
@@ -4,8 +4,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import gov.usgs.earthquake.nshmp.geo.json.FeatureCollection;
-import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet;
-import gov.usgs.earthquake.nshmp.www.ResponseBody;
+import gov.usgs.earthquake.nshmp.internal.www.NshmpMicronautServlet;
+import gov.usgs.earthquake.nshmp.internal.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ServletUtil;
 import gov.usgs.earthquake.nshmp.www.source.FeatureCollectionService.RequestData;