diff --git a/editors/editoria/src/Editoria.js b/editors/editoria/src/Editoria.js
index 96aac71ece7b2368e6fd1673928965941690e69b..2341165a69974cc9d061b0dfbb4b25240440ec56 100644
--- a/editors/editoria/src/Editoria.js
+++ b/editors/editoria/src/Editoria.js
@@ -48,7 +48,7 @@ const Editoria = () => (
       autoFocus
       placeholder="Type Something..."
       fileUpload={file => renderImage(file)}
-      value={text}
+      value="<p> hello <code> this is the code</code></p>"
       layout={EditoriaLayout}
       user={user}
     />
diff --git a/wax-prosemirror-plugins/src/AnnotationService/tools/index.js b/wax-prosemirror-plugins/src/AnnotationService/tools/index.js
index 30b7c19b833ae698e9c42f2edda31eaa8176a81e..8cfbcc999ac46aa50154ab5090ba6acff9aa8984 100644
--- a/wax-prosemirror-plugins/src/AnnotationService/tools/index.js
+++ b/wax-prosemirror-plugins/src/AnnotationService/tools/index.js
@@ -1,6 +1,6 @@
 export { default as Blockquote } from "./Blockquote";
 export { default as Em } from "./Em";
-export { default as Code } from "./Code";
+// export { default as Code } from "./Code";
 export { default as Link } from "./Link";
 export { default as SmallCaps } from "./SmallCaps";
 export { default as StrikeThrough } from "./StrikeThrough";
diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/Code.js b/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/Code.js
new file mode 100644
index 0000000000000000000000000000000000000000..61887249a4c332293482402b79f9609392391ce7
--- /dev/null
+++ b/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/Code.js
@@ -0,0 +1,23 @@
+import { toggleMark } from "prosemirror-commands";
+import { markActive } from "../../lib/Utils";
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { icons } from "wax-prosemirror-components";
+
+@injectable()
+export default class Code extends Tools {
+  title = "Toggle code";
+  content = icons.code;
+
+  get run() {
+    return (state, dispatch) => {
+      toggleMark(state.config.schema.marks.code)(state, dispatch);
+    };
+  }
+
+  get active() {
+    return state => {
+      return markActive(state.config.schema.marks.code)(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js b/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js
index 2f9cad0e55feff77751592b10c3a516cace8d9bb..9939652f38169f9c681031e4dbd97208bace1310 100644
--- a/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js
+++ b/wax-prosemirror-plugins/src/InlineAnnotations/CodeService/CodeService.js
@@ -1,19 +1,24 @@
 import Service from "wax-prosemirror-core/src/services/Service";
-
+import { codeMark } from "wax-prosemirror-schema";
+import Code from "./Code";
+console.log(codeMark);
 class CodeService extends Service {
   boot() {
     const createMark = this.container.get("CreateMark");
     createMark({
       code: {
         parseDOM: [{ tag: "code" }],
-        toDOM() {
-          return codeDOM;
+        toDOM(hook, next) {
+          hook.value = ["code", 0];
+          next();
         }
       }
     });
   }
 
-  register() {}
+  register() {
+    this.container.bind("Code").to(Code);
+  }
 }
 
 export default CodeService;
diff --git a/wax-prosemirror-schema/index.js b/wax-prosemirror-schema/index.js
index b89875b9b3e96355f328988e7ece02c06e3929de..20910b0342aa3109c60fdce111e319b923069aac 100644
--- a/wax-prosemirror-schema/index.js
+++ b/wax-prosemirror-schema/index.js
@@ -1,3 +1,4 @@
 export { default as DefaultSchema } from "./src/DefaultSchema";
 export { default as EditoriaSchema } from "./src/editoria/EditoriaSchema";
 export { default as XpubSchema } from "./src/XpubSchema";
+export { default as codeMark } from "./src/marks/codeMark";
diff --git a/wax-prosemirror-schema/src/editoria/marks.js b/wax-prosemirror-schema/src/editoria/marks.js
index f4c577419bc8bae0bf1d40303e185e2095ab2206..d5792ded525b9989fdb56bba3ae003ca835e1e99 100644
--- a/wax-prosemirror-schema/src/editoria/marks.js
+++ b/wax-prosemirror-schema/src/editoria/marks.js
@@ -51,12 +51,12 @@ const marks = {
       return strongDOM;
     }
   },
-  // code: {
-  //   parseDOM: [{ tag: "code" }],
-  //   toDOM() {
-  //     return codeDOM;
-  //   }
-  // },
+  code: {
+    parseDOM: [{ tag: "code" }],
+    toDOM() {
+      return codeDOM;
+    }
+  },
   subscript: {
     excludes: "superscript",
     parseDOM: [{ tag: "sub" }, { style: "vertical-align=sub" }],