diff --git a/wax-prosemirror-plugins/src/AnnotationService/tools/index.js b/wax-prosemirror-plugins/src/AnnotationService/tools/index.js
index 643a61eb5ed0471e7a9d09cac947dd4c4bb30c55..af913b5443ae23a4ac0af534fc3ec6e1f29149b6 100644
--- a/wax-prosemirror-plugins/src/AnnotationService/tools/index.js
+++ b/wax-prosemirror-plugins/src/AnnotationService/tools/index.js
@@ -1,7 +1,7 @@
 export { default as Blockquote } from "./Blockquote";
 export { default as SmallCaps } from "./SmallCaps";
 export { default as StrikeThrough } from "./StrikeThrough";
-export { default as Subscript } from "./Subscript";
+// export { default as Subscript } from "./Subscript";
 export { default as Superscript } from "./Superscript";
 export { default as Underline } from "./Underline";
 export { default as Table } from "./Table";
diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js b/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js
index d714f11dc93c9cf44a96954ee5f2245fafaa78f6..543d5f6a407317361ff7c051be439ee79dfe3e8c 100644
--- a/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js
+++ b/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js
@@ -1,4 +1,5 @@
 import Service from "wax-prosemirror-core/src/services/Service";
+import { codeMark } from "wax-prosemirror-schema";
 import Code from "./Code";
 
 class CodeService extends Service {
@@ -7,15 +8,7 @@ class CodeService extends Service {
   register() {
     this.container
       .bind("schema")
-      .toConstantValue({
-        code: {
-          parseDOM: { tag: "code" },
-          toDOM(hook, next) {
-            hook.value = ["code", 0];
-            next();
-          }
-        }
-      })
+      .toConstantValue({ code: codeMark })
       .whenTargetNamed("mark");
 
     this.container.bind("Code").to(Code);
diff --git a/wax-prosemirror-plugins/src/AnnotationService/tools/Subscript.js b/wax-prosemirror-plugins/src/InlineAnnotations/SubscriptService/Subscript.js
similarity index 100%
rename from wax-prosemirror-plugins/src/AnnotationService/tools/Subscript.js
rename to wax-prosemirror-plugins/src/InlineAnnotations/SubscriptService/Subscript.js
diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/SubscriptService/SubscriptService.js b/wax-prosemirror-plugins/src/InlineAnnotations/SubscriptService/SubscriptService.js
new file mode 100644
index 0000000000000000000000000000000000000000..31c8d37e47005af13886dfde8c14add0fe7d5f65
--- /dev/null
+++ b/wax-prosemirror-plugins/src/InlineAnnotations/SubscriptService/SubscriptService.js
@@ -0,0 +1,18 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import { subscriptMark } from "wax-prosemirror-schema";
+import Subscript from "./Subscript";
+
+class SubscriptService extends Service {
+  boot() {}
+
+  register() {
+    this.container
+      .bind("schema")
+      .toConstantValue({ subscript: subscriptMark })
+      .whenTargetNamed("mark");
+
+    this.container.bind("Subscript").to(Subscript);
+  }
+}
+
+export default SubscriptService;
diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/index.js b/wax-prosemirror-plugins/src/InlineAnnotations/index.js
index af8fbbc809ce4cacf952a92048ab8f01c2440d00..1d9705ef190299bf09fcfe0c93c45dc92ccf9e8b 100644
--- a/wax-prosemirror-plugins/src/InlineAnnotations/index.js
+++ b/wax-prosemirror-plugins/src/InlineAnnotations/index.js
@@ -1,4 +1,10 @@
 import CodeService from "./CodeService/CodeService";
 import StrongService from "./StrongService/StrongService";
 import EmphasisService from "./EmphasisService/EmphasisService";
-export default [new CodeService(), new StrongService(), new EmphasisService()];
+import SubscriptService from "./SubscriptService/SubscriptService";
+export default [
+  new CodeService(),
+  new StrongService(),
+  new EmphasisService(),
+  new SubscriptService()
+];
diff --git a/wax-prosemirror-schema/index.js b/wax-prosemirror-schema/index.js
index 7520b51b6a7c578ac9bb7fa2334a5fb64cf6aa3e..e0c547e00c4a8b6631a314484e2c2e4f30fb90a2 100644
--- a/wax-prosemirror-schema/index.js
+++ b/wax-prosemirror-schema/index.js
@@ -5,3 +5,4 @@ export { default as codeMark } from "./src/marks/codeMark";
 export { default as strongMark } from "./src/marks/strongMark";
 export { default as linkMark } from "./src/marks/linkMark";
 export { default as emphasisMark } from "./src/marks/emphasisMark";
+export { default as subscriptMark } from "./src/marks/subscriptMark";
diff --git a/wax-prosemirror-schema/src/editoria/marks.js b/wax-prosemirror-schema/src/editoria/marks.js
index 64f02b362920ecfa3048758b3137ff9f8d60dd1c..dc5a8df6795489fe7ef47f93b711025f4ace5ab2 100644
--- a/wax-prosemirror-schema/src/editoria/marks.js
+++ b/wax-prosemirror-schema/src/editoria/marks.js
@@ -3,11 +3,6 @@ const emDOM = ["em", 0],
   codeDOM = ["code", 0];
 
 const marks = {
-  subscript: {
-    excludes: "superscript",
-    parseDOM: [{ tag: "sub" }, { style: "vertical-align=sub" }],
-    toDOM: () => ["sub"]
-  },
   superscript: {
     excludes: "subscript",
     parseDOM: [{ tag: "sup" }, { style: "vertical-align=super" }],
diff --git a/wax-prosemirror-schema/src/marks/subscriptMark.js b/wax-prosemirror-schema/src/marks/subscriptMark.js
new file mode 100644
index 0000000000000000000000000000000000000000..ee7d7fc4a48543f2aa23af199cbe4e8531745de3
--- /dev/null
+++ b/wax-prosemirror-schema/src/marks/subscriptMark.js
@@ -0,0 +1,10 @@
+const subscript = {
+  excludes: "superscript",
+  parseDOM: [{ tag: "sub" }, { style: "vertical-align=sub" }],
+  toDOM(hook, next) {
+    hook.value = ["sub"];
+    next();
+  }
+};
+
+export default subscript;