diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index be39bf3281288077a27d1cdcb50d5a0b232abdef..669174167eb0446813151bc361a0e1a8d75fdbff 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -14,7 +14,7 @@ export default {
     },
     {
       templateArea: "leftSideBar",
-      toolGroups: ["TextStyle"]
+      toolGroups: ["Display"]
     }
   ],
 
diff --git a/wax-prosemirror-core/src/config/defaultConfig.js b/wax-prosemirror-core/src/config/defaultConfig.js
index 6b29b6f8683a1479d73edec320595c1a2ec8ef2e..df0e8e662a90f1704090c2fab1d3263608831f6b 100644
--- a/wax-prosemirror-core/src/config/defaultConfig.js
+++ b/wax-prosemirror-core/src/config/defaultConfig.js
@@ -18,7 +18,11 @@ import {
   TableToolGroupService,
   BaseService,
   BaseToolGroupService,
-  ImageToolGroupService
+  ImageToolGroupService,
+  TextBlockLevelService,
+  TextToolGroupService,
+  DisplayBlockLevelService,
+  DisplayToolGroupService
 } from "wax-prosemirror-services";
 
 export default {
@@ -41,6 +45,10 @@ export default {
     new TablesService(),
     new BaseService(),
     new BaseToolGroupService(),
-    new ImageToolGroupService()
+    new ImageToolGroupService(),
+    new DisplayBlockLevelService(),
+    new DisplayToolGroupService()
+    // new TextBlockLevelService(),
+    // new TextToolGroupService()
   ]
 };
diff --git a/wax-prosemirror-schema/src/editoria/nodes.js b/wax-prosemirror-schema/src/editoria/nodes.js
index 5b5dd6182734b41f308043d9c69b097cabb4cc55..76e43ae9d9a4c937b006a6e9d691ec967a74aeed 100644
--- a/wax-prosemirror-schema/src/editoria/nodes.js
+++ b/wax-prosemirror-schema/src/editoria/nodes.js
@@ -55,31 +55,6 @@ const nodes = {
       return ["img", { src, alt, title }];
     }
   },
-  author: {
-    content: "inline*",
-    group: "block",
-    priority: 0,
-    defining: true,
-    attrs: {
-      class: { default: "author" },
-      track: { default: [] }
-    },
-    parseDOM: [
-      {
-        tag: "p.author",
-        getAttrs(dom) {
-          return {
-            class: dom.getAttribute("class"),
-            track: parseTracks(dom.dataset.track)
-          };
-        }
-      }
-    ],
-    toDOM(node) {
-      const attrs = blockLevelToDOM(node);
-      return ["p", attrs, 0];
-    }
-  },
   epigraphProse: {
     content: "inline*",
     group: "block",
diff --git a/wax-prosemirror-schema/src/nodes/authorNode.js b/wax-prosemirror-schema/src/nodes/authorNode.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a19909f2ce734a3f261eb290deb7c0910152a742 100644
--- a/wax-prosemirror-schema/src/nodes/authorNode.js
+++ b/wax-prosemirror-schema/src/nodes/authorNode.js
@@ -0,0 +1,30 @@
+import { parseFormatList, parseTracks, blockLevelToDOM } from "./helpers";
+const author = {
+  content: "inline*",
+  group: "block",
+  priority: 0,
+  defining: true,
+  attrs: {
+    class: { default: "author" },
+    track: { default: [] }
+  },
+  parseDOM: [
+    {
+      tag: "p.author",
+      getAttrs(hook, next) {
+        Object.assign(hook, {
+          class: dom.getAttribute("class"),
+          track: parseTracks(hook.dom.dataset.track)
+        });
+        next();
+      }
+    }
+  ],
+  toDOM(hook, next) {
+    const attrs = blockLevelToDOM(hook.node);
+    hook.value = ["p", attrs, 0];
+    next();
+  }
+};
+
+export default author;
diff --git a/wax-prosemirror-schema/src/nodes/helpers.js b/wax-prosemirror-schema/src/nodes/helpers.js
new file mode 100644
index 0000000000000000000000000000000000000000..3020008e105df94bfb17663ceb35334c02fe3e97
--- /dev/null
+++ b/wax-prosemirror-schema/src/nodes/helpers.js
@@ -0,0 +1,50 @@
+const parseFormatList = str => {
+  if (!str) {
+    return [];
+  }
+  let formatList;
+  try {
+    formatList = JSON.parse(str);
+  } catch (error) {
+    return [];
+  }
+  if (!Array.isArray(formatList)) {
+    return [];
+  }
+  return formatList.filter(format => typeof format === "string"); // ensure there are only strings in list
+};
+
+const parseTracks = str => {
+  if (!str) {
+    return [];
+  }
+  let tracks;
+  try {
+    tracks = JSON.parse(str);
+  } catch (error) {
+    return [];
+  }
+  if (!Array.isArray(tracks)) {
+    return [];
+  }
+  return tracks.filter(
+    (
+      track // ensure required fields are present
+    ) =>
+      track.hasOwnProperty("user") &&
+      track.hasOwnProperty("username") &&
+      track.hasOwnProperty("date")
+  );
+};
+
+const blockLevelToDOM = node => {
+  const attrs = node.attrs.track.length
+    ? {
+        class: node.attrs.class,
+        "data-track": JSON.stringify(node.attrs.track)
+      }
+    : { class: node.attrs.class };
+  return attrs;
+};
+
+export { parseFormatList, parseTracks, blockLevelToDOM };
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index 293867afcc2f5139d906a598af8a86a7e5d928c2..7ee09dcb21bcdb544100667b24d42ae2e38adb41 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -1,13 +1,19 @@
 export { default as MenuService } from "./src/MenuService/MenuService";
 export { default as LinkService } from "./src/LinkService/LinkService";
 
-export { default as TextStyleService } from "./src/TextStyleService/TextStyleService";
-export { default as PlaceholderService } from "./src/PlaceholderService/PlaceholderService";
+export {
+  default as TextStyleService
+} from "./src/TextStyleService/TextStyleService";
+export {
+  default as PlaceholderService
+} from "./src/PlaceholderService/PlaceholderService";
 export { default as ImageService } from "./src/ImageService/ImageService";
 export { default as RulesService } from "./src/RulesService/RulesService";
 export { default as SchemaService } from "./src/SchemaService/SchemaService";
 
-export { default as ShortCutsService } from "./src/ShortCutsService/ShortCutsService";
+export {
+  default as ShortCutsService
+} from "./src/ShortCutsService/ShortCutsService";
 
 export { default as OverlayService } from "./src/OverlayService/OverlayService";
 export { default as Tool } from "./src/lib/Tools";
@@ -16,19 +22,39 @@ export { default as Tool } from "./src/lib/Tools";
 All Elements services
 */
 export { default as BaseService } from "./src/BaseService/BaseService";
-export { default as InlineAnnotationsService } from "./src/InlineAnnotations/InlineAnnotationsService";
+export {
+  default as InlineAnnotationsService
+} from "./src/InlineAnnotations/InlineAnnotationsService";
 export { default as ListsService } from "./src/ListsService/ListsService";
 export { default as TablesService } from "./src/TablesService/TablesService";
-export { default as TextBlockLevelService } from "./src/TextBlockLevel/TextBlockLevelService";
-export { default as DisplayBlockLevelService } from "./src/DisplayBlockLevel/DisplayBlockLevelService";
+export {
+  default as TextBlockLevelService
+} from "./src/TextBlockLevel/TextBlockLevelService";
+export {
+  default as DisplayBlockLevelService
+} from "./src/DisplayBlockLevel/DisplayBlockLevelService";
 
 /*
 ToolGroups
 */
-export { default as BaseToolGroupService } from "./src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService";
-
-export { default as AnnotationToolGroupService } from "./src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService";
-export { default as ListToolGroupService } from "./src/WaxToolGroups/ListToolGroupService/ListToolGroupService";
-export { default as ImageToolGroupService } from "./src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService";
-
-export { default as TableToolGroupService } from "./src/WaxToolGroups/TableToolGroupService/TableToolGroupService";
+export {
+  default as BaseToolGroupService
+} from "./src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService";
+export {
+  default as AnnotationToolGroupService
+} from "./src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService";
+export {
+  default as ListToolGroupService
+} from "./src/WaxToolGroups/ListToolGroupService/ListToolGroupService";
+export {
+  default as ImageToolGroupService
+} from "./src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService";
+export {
+  default as TableToolGroupService
+} from "./src/WaxToolGroups/TableToolGroupService/TableToolGroupService";
+export {
+  default as DisplayToolGroupService
+} from "./src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService";
+export {
+  default as TextToolGroupService
+} from "./src/WaxToolGroups/TextToolGroupService/TextToolGroupService";
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
index 09e110b3fcdedce4a6d676a19b305537e9ff92a9..c7a259badac013bdc51f3573abfe954fe7c91c7a 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
@@ -1,4 +1,5 @@
 import Service from "wax-prosemirror-core/src/services/Service";
+import { authorNode } from "wax-prosemirror-schema";
 import Author from "./Author";
 
 class AuthorService extends Service {
@@ -6,6 +7,13 @@ class AuthorService extends Service {
 
   register() {
     this.container.bind("Author").to(Author);
+    const createNode = this.container.get("CreateNode");
+    createNode(
+      {
+        author: authorNode
+      },
+      { toWaxSchema: true }
+    );
   }
 }
 
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/index.js b/wax-prosemirror-services/src/DisplayBlockLevel/index.js
index 6e9670adff6ddceb74b8eade93a55b58d2e76781..3661a97fe9eca9cd814d66e0ff74673f8d9116cb 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/index.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/index.js
@@ -5,9 +5,9 @@ import SubTitleService from "./SubTitleService/SubTitleService";
 import TitleService from "./TitleService/TitleService";
 
 export default [
-  new AuthorService(),
-  new EpigraphPoetryService(),
-  new HeadingService(),
-  new SubTitleService(),
-  new TitleService()
+  new AuthorService()
+  // new EpigraphPoetryService(),
+  // new HeadingService(),
+  // new SubTitleService(),
+  // new TitleService()
 ];
diff --git a/wax-prosemirror-services/src/TextStyleService/TextStyle.js b/wax-prosemirror-services/src/TextStyleService/TextStyle.js
index 0a7af60ef453ef272be64fe41d53184ccc3251cd..f00cb6d29dc30c09ad96cc8721d83a0c082c3b41 100644
--- a/wax-prosemirror-services/src/TextStyleService/TextStyle.js
+++ b/wax-prosemirror-services/src/TextStyleService/TextStyle.js
@@ -13,7 +13,6 @@ export default class Annotation extends ToolGroup {
     );
   };
   constructor(
-    @inject("Author") author,
     @inject("EpigraphPoetry") epigraphPoetry,
     @inject("EpigraphProse") epigraphProse,
     @inject("Heading1") heading1,
@@ -25,7 +24,6 @@ export default class Annotation extends ToolGroup {
   ) {
     super();
     this.tools = [
-      author,
       epigraphPoetry,
       epigraphProse,
       heading1,
diff --git a/wax-prosemirror-services/src/TextStyleService/tools/Author.js b/wax-prosemirror-services/src/TextStyleService/tools/Author.js
deleted file mode 100644
index 6be138dd84d3867dcf35a138f1efc71f55025856..0000000000000000000000000000000000000000
--- a/wax-prosemirror-services/src/TextStyleService/tools/Author.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { setBlockType } from "prosemirror-commands";
-
-@injectable()
-export default class Author extends Tools {
-  title = "Change to Author";
-  content = "Author";
-
-  get run() {
-    return (state, dispatch) => {
-      setBlockType(state.config.schema.nodes.author)(state, dispatch);
-    };
-  }
-
-  get enable() {
-    return state => {
-      return setBlockType(state.config.schema.nodes.author)(state);
-    };
-  }
-}
diff --git a/wax-prosemirror-services/src/TextStyleService/tools/index.js b/wax-prosemirror-services/src/TextStyleService/tools/index.js
index 52ce53fe7004dab81ec2d3093507eafa58fac1da..7a9b47da04f1f2c077cc3319a3d7370a056a15cb 100644
--- a/wax-prosemirror-services/src/TextStyleService/tools/index.js
+++ b/wax-prosemirror-services/src/TextStyleService/tools/index.js
@@ -1,4 +1,3 @@
-export { default as Author } from "./Author";
 export { default as EpigraphPoetry } from "./EpigraphPoetry";
 export { default as EpigraphProse } from "./EpigraphProse";
 export { default as Heading1 } from "./Heading1";
diff --git a/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js b/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..af73f18897341935c4bf1e1ba511bc699024413c 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js
@@ -0,0 +1,22 @@
+import React from "react";
+import { injectable, inject } from "inversify";
+import ToolGroup from "../../lib/ToolGroup";
+
+@injectable()
+class Display extends ToolGroup {
+  tools = [];
+  title = () => {
+    return (
+      <span>
+        Display
+        <hr />
+      </span>
+    );
+  };
+  constructor(@inject("Author") author) {
+    super();
+    this.tools = [author];
+  }
+}
+
+export default Display;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/Text.js b/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/Text.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e14231b123a061a168b86fdb92242c48db81c95e 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/Text.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/Text.js
@@ -0,0 +1,13 @@
+import { injectable, inject } from "inversify";
+import ToolGroup from "../../lib/ToolGroup";
+
+@injectable()
+class Text extends ToolGroup {
+  tools = [];
+  constructor() {
+    super();
+    this.tools = [];
+  }
+}
+
+export default Text;