diff --git a/PaymentServer.cabal b/PaymentServer.cabal
index b4c0c30ad9771d6c20de92a1935ac8bef4d61688..4187a1a9085ab2465945bee0e30c98f89dd80e07 100644
--- a/PaymentServer.cabal
+++ b/PaymentServer.cabal
@@ -1,5 +1,5 @@
 name:                PaymentServer
-version:             0.1.1.0
+version:             0.1.1.1
 synopsis:            Coordinate entities for the purchase of PrivateStorage.io vouchers.
 -- description:
 homepage:            https://github.com/privatestorageio/PaymentServer#readme
diff --git a/nix/default.nix b/nix/default.nix
index 9d0a1857baa9b8fe789744b7395ab15f69a03a26..b52284fd92a5b2bd1babdde01f54130aeff5a6df 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -39,4 +39,6 @@ in
     # maintenance of these expressions, see
     # https://input-output-hk.github.io/haskell.nix/tutorials/materialization/
     materialized = ./materialized.paymentserver;
+    # See materialized.paymentserver/README
+    # checkMaterialization = true;
   }
diff --git a/nix/materialized.paymentserver/PaymentServer.nix b/nix/materialized.paymentserver/PaymentServer.nix
index 79c3cf64739a22c96190c538eb1e9385d8dc7de0..02788821eef6817c304db96a9925397402e971cc 100644
--- a/nix/materialized.paymentserver/PaymentServer.nix
+++ b/nix/materialized.paymentserver/PaymentServer.nix
@@ -11,7 +11,7 @@
     flags = {};
     package = {
       specVersion = "1.10";
-      identifier = { name = "PaymentServer"; version = "0.1.1.0"; };
+      identifier = { name = "PaymentServer"; version = "0.1.1.1"; };
       license = "Apache-2.0";
       copyright = "2019 Private Storage.io, LLC.";
       maintainer = "support@privatestorage.io";
diff --git a/nix/materialized.paymentserver/README b/nix/materialized.paymentserver/README
index 339b2b1be7bb6a96c0f307afa34f1f5ba772f593..ebed5f96b31e0363105cec89f94501c072fda11a 100644
--- a/nix/materialized.paymentserver/README
+++ b/nix/materialized.paymentserver/README
@@ -4,3 +4,12 @@ Thus we take advantage of this "materialization" feature of Haskell.nix to make
 
 The contents of this directory are automatically generated and need to be regenerated for certain kinds of dependency changes.
 See <https://input-output-hk.github.io/haskell.nix/tutorials/materialization/>.
+
+Here's what you do:
+
+1. Hack hack hack. Maybe change something that affects the packaging.
+2. Add checkMaterialization = true; below materialized = ... in nix/default.nix
+3. Build it (eg run nix-build nix -A PaymentServer.components.exes.PaymentServer-exe)
+4. Whether the build succeeds or fails, you can throw away the checkMaterialization = ... line now.
+5. If the build succeeds, the current materialization is up-to-date and you're done. If the build fails, it should do so with a line like "Materialized nix used for haskell-project-stack-to-nix-pkgs incorrect. To fix run: /nix/store/XXXXXX-updateMaterialized". Run the script it mentions. It will update the materialization in your working tree. This includes erasing the README I put there so maybe that README should be moved somewhere else. For now, check in the rest of the materialization changes and you're done.
+
diff --git a/shell.nix b/shell.nix
index e8af4b50d4f4947918c3408ff42012cd7d9f8049..6dc52bbff3fed9166a0b02264fa683c0366c5812 100644
--- a/shell.nix
+++ b/shell.nix
@@ -1,7 +1,7 @@
 # shell.nix
 { pkgs ? import <nixpkgs> { } }:
 let
-  project = import ./default.nix;
+  project = import ./nix/default.nix;
 in
   project.shellFor {
     # Prevents cabal from choosing alternate plans, so that
diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs
index 8e0b25eca7370f1adc1efac142065510a1befb57..65650ad18c835db14c9f7473cbe4e2a44adbe4c4 100644
--- a/src/PaymentServer/Persistence.hs
+++ b/src/PaymentServer/Persistence.hs
@@ -304,7 +304,7 @@ redeemVoucherHelper isVoucherPaid lookupFingerprint lookupVoucherCounter markVou
 
 
 metricName :: Text -> Text
-metricName name = mappend "redemption." name
+metricName name = mappend "redemption_" name
 
 
 voucherRedeemed :: P.Counter
diff --git a/src/PaymentServer/Processors/Stripe.hs b/src/PaymentServer/Processors/Stripe.hs
index 2c4c7f89419d9c873e52a3a7008659ffbddfd717..5816a4eed3cb6f7f218b63f8d593d7c50eb4a8ea 100644
--- a/src/PaymentServer/Processors/Stripe.hs
+++ b/src/PaymentServer/Processors/Stripe.hs
@@ -121,7 +121,7 @@ instance FromJSON Charges where
 
 
 metricName :: Text -> Text
-metricName name = mappend ("processors.stripe.charge_") name
+metricName name = mappend ("processors_stripe_charge_") name
 
 chargeAttempts :: P.Counter
 chargeAttempts
diff --git a/src/PaymentServer/Redemption.hs b/src/PaymentServer/Redemption.hs
index ad731dbe38e709f3099159c22698cf9a50a7436f..9c391a07a6a85751d8a1d971ccd9fd9076f86d13 100644
--- a/src/PaymentServer/Redemption.hs
+++ b/src/PaymentServer/Redemption.hs
@@ -227,7 +227,7 @@ redeem issue database (Redeem voucher tokens counter) =
 
 
 metricName :: Text -> Text
-metricName name = mappend "redemption." name
+metricName name = mappend "redemption_" name
 
 
 signaturesIssued :: P.Counter