diff --git a/app/components/component-dashboard/src/components/Dashboard.js b/app/components/component-dashboard/src/components/Dashboard.js
index ea630c0d0d26b4a2d3175f88a4433e940f4f4e2b..899780e5f54c8e17dc9f24885d091077f2a20d64 100644
--- a/app/components/component-dashboard/src/components/Dashboard.js
+++ b/app/components/component-dashboard/src/components/Dashboard.js
@@ -22,22 +22,21 @@ import {
 import hasRole from '../../../../shared/hasRole'
 
 const Dashboard = ({ history, ...props }) => {
-  // const uploadManuscript = upload()
-  // const [conversion] = useContext(XpubContext)
-
   const { loading, data, error } = useQuery(queries.dashboard)
   const [reviewerRespond] = useMutation(mutations.reviewerResponseMutation)
 
   const [deleteManuscript] = useMutation(mutations.deleteManuscriptMutation, {
     update: (proxy, { data: { deleteManuscript } }) => {
       const data = proxy.readQuery({ query: queries.dashboard })
-      const manuscriptIndex = data.manuscripts.findIndex(
-        manuscript => manuscript.id === deleteManuscript,
+      const manuscripts = data.manuscripts.filter(
+        manuscript => manuscript.id !== deleteManuscript,
       )
-      if (manuscriptIndex > -1) {
-        data.manuscripts.splice(manuscriptIndex, 1)
-        proxy.writeQuery({ query: queries.dashboard, data })
-      }
+      proxy.writeQuery({
+        query: queries.dashboard,
+        data: {
+          manuscripts,
+        },
+      })
     },
   })
 
diff --git a/app/components/component-submit/src/components/SubmitPage.js b/app/components/component-submit/src/components/SubmitPage.js
index c84920c278bd812c1d233de33101f9a04c43ae32..5c6ce3ed5bfc80c4b458a073b6829b00b553a2a3 100644
--- a/app/components/component-submit/src/components/SubmitPage.js
+++ b/app/components/component-submit/src/components/SubmitPage.js
@@ -20,6 +20,7 @@ const fragmentFields = `
     url
   }
   reviews {
+    id
     open
     recommendation
     created
@@ -138,119 +139,6 @@ const createFileMutation = gql`
   }
 `
 
-// export default compose(
-// graphql(query, {
-//   options: ({ match }) => ({
-//     variables: {
-//       id: match.params.version,
-//       form: 'submit',
-//     },
-//   }),
-//   props: ({ data }) => ({ data: nullToEmpty(data) }),
-// }),
-// graphql(createFileMutation, {
-//   props: ({ mutate, ownProps }) => ({
-//     createFile: value => {
-//       const file = {
-//         url: value.url,
-//         filename: value.filename,
-//         mimeType: value.mimeType,
-//         size: value.size,
-//         fileType: 'supplementary',
-//         object: 'Manuscript',
-//         objectId: ownProps.match.params.version,
-//       }
-
-//       mutate({
-//         variables: {
-//           file,
-//         },
-//       })
-//     },
-//   }),
-// }),
-// graphql(uploadSuplementaryFilesMutation, {
-//   props: ({ mutate, ownProps }) => ({
-//     uploadFile: file =>
-//       mutate({
-//         variables: {
-//           file,
-//         },
-//       }),
-//   }),
-// }),
-// graphql(updateMutation, {
-//   props: ({ mutate, ownProps }) => {
-//     const debouncers = {}
-//     const onChange = (value, path) => {
-//       const input = {}
-//       set(input, path, value)
-//       debouncers[path] = debouncers[path] || debounce(updateManuscript, 300)
-//       return debouncers[path](input)
-//     }
-
-//     const updateManuscript = input =>
-//       mutate({
-//         variables: {
-//           id: ownProps.match.params.version,
-//           input: JSON.stringify(emptyToUndefined(input)),
-//         },
-//       })
-
-//     return {
-//       onChange,
-//     }
-//   },
-// }),
-// graphql(updateMutation, {
-//   props: ({ mutate, ownProps }) => ({
-//     onSubmit: (manuscript, { history }) => {
-//       const updateManuscript = {
-//         status: 'submitted',
-//       }
-
-//       mutate({
-//         variables: {
-//           id: ownProps.match.params.version,
-//           input: JSON.stringify(updateManuscript),
-//         },
-//       }).then(() => {
-//         history.push('/journal/dashboard')
-//       })
-//     },
-//   }),
-// }),
-// withProps(({ getFile, manuscript, match: { params: { journal } } }) => ({
-//   journal: { id: journal },
-//   forms: cloneDeep(getFile),
-//   manuscript,
-//   submitSubmission: ({ validateForm, setSubmitting, handleSubmit }) =>
-//     validateForm().then(props =>
-//       isEmpty(props) ? setSubmitting(false) : handleSubmit(),
-//     ),
-// })),
-// withFormik({
-//   initialValues: {},
-//   mapPropsToValues: ({ manuscript }) =>
-//     Object.assign({}, manuscript, {
-//       submission: JSON.parse(manuscript.submission),
-//     }),
-//   displayName: 'submit',
-//   handleSubmit: (
-//     props,
-//     { validateForm, setSubmitting, props: { onSubmit, history } },
-//   ) =>
-//     validateForm().then(props =>
-//       isEmpty(props) ? onSubmit(props, { history }) : setSubmitting(false),
-//     ),
-// }),
-// withState('confirming', 'setConfirming', false),
-// withHandlers({
-//   toggleConfirming: ({ validateForm, setConfirming, handleSubmit }) => () =>
-//     setConfirming(confirming => !confirming),
-// }),
-// )(Submit)
-
 const SubmitPage = ({ match, history, ...props }) => {
   const [confirming, setConfirming] = useState(false)
 
diff --git a/app/components/component-submit/src/upload.js b/app/components/component-submit/src/upload.js
index 7e7f5d3e62ef51a2bb02c634f019ba87fcf013f4..99338907f8c77a474dc3fda3904d445bacb8aa4f 100644
--- a/app/components/component-submit/src/upload.js
+++ b/app/components/component-submit/src/upload.js
@@ -159,21 +159,21 @@ const createManuscriptPromise = (
     update: (cache, { data: { createManuscript } }) => {
       cache.modify({
         fields: {
-          manuscripts(existingManuscritps = []) {
-            return [...existingManuscritps, createManuscript]
+          manuscripts(existingManuscriptRefs = []) {
+            // Get the reference for the cache entry generated by useMutation
+            const newManuscriptRef = cache.writeFragment({
+              data: createManuscript,
+              fragment: gql`
+                fragment NewManuscript on Manuscript {
+                  id
+                }
+              `,
+            })
+
+            return [...existingManuscriptRefs, newManuscriptRef]
           },
         },
       })
-      // let data = proxy.readQuery({ query: queries.dashboard })
-      // data.manuscripts.push(createManuscript)
-      // proxy.writeQuery({ query: queries.dashboard, data })
-
-      // data = proxy.readQuery({
-      //   query: queries.getUser,
-      //   variables: { id: currentUser.id },
-      // })
-      // data.user.teams.push(createManuscript.teams[0])
-      // proxy.writeQuery({ query: queries.getUser, data })
     },
   })
 }