diff --git a/packages/components/xpub-edit/package.json b/packages/components/xpub-edit/package.json
index ebe079e4336c95fb6b1604d490e2d5c99e33ffba..d39d8f4ee45d45cca1ad70eac8dde33f76dde1f1 100644
--- a/packages/components/xpub-edit/package.json
+++ b/packages/components/xpub-edit/package.json
@@ -13,6 +13,7 @@
     "prosemirror-dropcursor": "^1.0.0",
     "prosemirror-schema-list": "^1.0.0",
     "prosemirror-schema-basic": "^1.0.0",
+    "prosemirror-example-setup": "^1.0.0",
     "prosemirror-gapcursor": "^1.0.0",
     "prosemirror-history": "^1.0.0",
     "prosemirror-inputrules": "^1.0.0",
diff --git a/packages/components/xpub-edit/src/components/Editor.js b/packages/components/xpub-edit/src/components/Editor.js
index 040364d3159edb8dea69db9caf0b8a3198effd11..d65826a67aaedc23ccb3ef84ddaf6c93fb52a6d4 100644
--- a/packages/components/xpub-edit/src/components/Editor.js
+++ b/packages/components/xpub-edit/src/components/Editor.js
@@ -2,10 +2,6 @@ import React from 'react'
 import classnames from 'classnames'
 import { EditorState } from 'prosemirror-state'
 import { EditorView } from 'prosemirror-view'
-// import { Schema, DOMParser } from 'prosemirror-model'
-// import { schema } from 'prosemirror-schema-basic'
-
-// import { addListNodes } from 'prosemirror-schema-list'
 import baseClasses from 'prosemirror-view/style/prosemirror.css'
 
 import MenuBar from './MenuBar'
diff --git a/packages/components/xpub-edit/src/components/configurable/EditorOptions.js b/packages/components/xpub-edit/src/components/configurable/EditorOptions.js
index 96f92143d894665cce533e4dbda9bb4396d77fa2..bf6d84fab568e20977e0d956d767f72382311203 100644
--- a/packages/components/xpub-edit/src/components/configurable/EditorOptions.js
+++ b/packages/components/xpub-edit/src/components/configurable/EditorOptions.js
@@ -13,6 +13,7 @@ const FEATURES_WHITELIST = [
   'heading',
   'undo',
   'redo',
+  'orderedlist',
 ]
 
 class ConfigurableEditor extends React.Component {
diff --git a/packages/components/xpub-edit/src/components/configurable/config/index.js b/packages/components/xpub-edit/src/components/configurable/config/index.js
index 2ae361ef738cc51bca07ebbfa3188ed8ba82e02b..f2eb3141bfba187906cbba22714d6304c6344d78 100644
--- a/packages/components/xpub-edit/src/components/configurable/config/index.js
+++ b/packages/components/xpub-edit/src/components/configurable/config/index.js
@@ -1,20 +1,25 @@
 import { Schema } from 'prosemirror-model'
+import { addListNodes } from 'prosemirror-schema-list'
+import { schema as defaultSchema } from 'prosemirror-schema-basic'
+
 import pick from 'lodash/pick'
 import map from 'lodash/map'
 
 import makePlugins from './plugins'
 import menuItems from './menu'
-import nodes from './nodes'
+// import nodes from './nodes'
 import marks from './marks'
 
 export default features => {
   const featureNames = Object.keys(features).filter(key => features[key])
+
   const schema = new Schema({
+    nodes: addListNodes(defaultSchema.spec.nodes, 'paragraph block*', 'block'),
     marks: pick(marks, featureNames),
-    nodes: {
-      ...pick(nodes, ['doc', 'paragraph', 'text']),
-      ...pick(nodes, featureNames),
-    },
+    // nodes: {
+    //   ...pick(nodes, ['doc', 'paragraph', 'text']),
+    //   ...pick(nodes, featureNames),
+    // },
   })
 
   const enabledMenuItems = pick(menuItems, featureNames)
diff --git a/packages/components/xpub-edit/src/components/configurable/config/keys.js b/packages/components/xpub-edit/src/components/configurable/config/keys.js
index b00ac82a3ad4530686e3a751036430a6d076e7ea..57705b5650c62a9e0272c18f28bec52c3322daab 100644
--- a/packages/components/xpub-edit/src/components/configurable/config/keys.js
+++ b/packages/components/xpub-edit/src/components/configurable/config/keys.js
@@ -9,8 +9,23 @@ import {
   exitCode,
   selectParentNode,
 } from 'prosemirror-commands'
+import {
+  wrapInList,
+  splitListItem,
+  liftListItem,
+  sinkListItem,
+} from 'prosemirror-schema-list'
 
 const makeKeymap = (schema, features) => {
+  const bind = (key, cmd) => {
+    if (features) {
+      const mapped = features[key]
+      if (mapped === false) return
+      if (mapped) key = mapped
+    }
+    keys[key] = cmd
+  }
+
   const keys = {
     Backspace: undoInputRule,
     'Ctrl-Enter': exitCode,
@@ -21,6 +36,15 @@ const makeKeymap = (schema, features) => {
     'Mod-y': redo,
     'Shift-Mod-z': redo,
     'Shift-Ctrl-0': setBlockType(schema.nodes.paragraph),
+    'Shift-Ctrl-9': wrapInList(schema.nodes.ordered_list),
+  }
+
+  const type = schema.nodes.list_item
+
+  if (type) {
+    bind('Enter', splitListItem(type))
+    bind('Mod-[', liftListItem(type))
+    bind('Mod-]', sinkListItem(type))
   }
 
   if (features.includes('bold')) {
@@ -34,11 +58,11 @@ const makeKeymap = (schema, features) => {
   }
 
   Object.keys(baseKeymap).forEach(key => {
-    if (keys[key]) {
-      keys[key] = chainCommands(keys[key], baseKeymap[key])
-    } else {
-      keys[key] = baseKeymap[key]
-    }
+    //  if (keys[key]) {
+    keys[key] = chainCommands(keys[key], baseKeymap[key])
+    //  } else {
+    //    keys[key] = baseKeymap[key]
+    //  }
   })
 
   return keymap(keys)
diff --git a/packages/components/xpub-edit/src/components/configurable/config/menu.js b/packages/components/xpub-edit/src/components/configurable/config/menu.js
index 6235793a740eaddf24e3fa97ccb961fe14177bfe..7217d83852aed3f10f8bd3e930e33bec578fbe92 100644
--- a/packages/components/xpub-edit/src/components/configurable/config/menu.js
+++ b/packages/components/xpub-edit/src/components/configurable/config/menu.js
@@ -1,5 +1,6 @@
 import { setBlockType, toggleMark } from 'prosemirror-commands'
 import { redo, undo } from 'prosemirror-history'
+import { wrapInList } from 'prosemirror-schema-list'
 
 import icons from './icons'
 
@@ -32,6 +33,12 @@ const promptForURL = () => {
 }
 
 export default {
+  orderedlist: schema => ({
+    // active: markActive(schema.marks.bold),
+    content: 'ordered list',
+    run: wrapInList(schema.nodes.ordered_list, { order: { default: 1 } }),
+    title: 'Toggle List',
+  }),
   bold: schema => ({
     active: markActive(schema.marks.bold),
     content: icons.bold,
diff --git a/packages/components/xpub-manuscript/src/components/Manuscript.js b/packages/components/xpub-manuscript/src/components/Manuscript.js
index 9e6651a5cf4f6325c19a8d69381ac1fc3f1b48b7..6c7ccd657fd9328d7a9d8efe93c6270a3dbf2f49 100644
--- a/packages/components/xpub-manuscript/src/components/Manuscript.js
+++ b/packages/components/xpub-manuscript/src/components/Manuscript.js
@@ -12,7 +12,7 @@ const Manuscript = ({
   updateManuscript,
   version,
 }) => (
-  <NoteEditor value={content} />
+  <NoteEditor orderedlist redo undo value={content} />
 
   // <SimpleEditor
   //   content={content}