diff --git a/packages/component-wizard/src/components/index.js b/packages/component-wizard/src/components/index.js
index 0c688b4063ed20527e1eb26cf90fbf1f54adddc8..276990a4799cd9b46ff99e66ecfe34e15ca1388d 100644
--- a/packages/component-wizard/src/components/index.js
+++ b/packages/component-wizard/src/components/index.js
@@ -1,4 +1,3 @@
-export { default as Files } from './Files'
 export { default as Wizard } from './Wizard'
 export { default as Progress } from './Progress'
 export { default as WizardPage } from './WizardPage'
diff --git a/packages/component-wizard/src/index.js b/packages/component-wizard/src/index.js
index b8ae61ac65482a61395c249a822ebc02d757d7e1..b43332ee55fa1efd10fa25e23eb759af7ccb18ea 100644
--- a/packages/component-wizard/src/index.js
+++ b/packages/component-wizard/src/index.js
@@ -4,7 +4,6 @@ module.exports = {
     reducers: {
       wizardConversion: () => require('./redux/conversion').default,
       autosave: () => require('./redux/autosave').default,
-      files: () => require('./redux/files').default,
     },
   },
 }
diff --git a/packages/component-wizard/src/redux/index.js b/packages/component-wizard/src/redux/index.js
index ac24b732b1d86380230cca1ac035c37ec58d9769..f767d735102b76804d7a5ba91ec0d08707d68bae 100644
--- a/packages/component-wizard/src/redux/index.js
+++ b/packages/component-wizard/src/redux/index.js
@@ -1,3 +1,2 @@
-export { default as files } from './files'
 export { default as autosave } from './autosave'
 export { default as conversion } from './conversion'
diff --git a/packages/component-wizard/src/components/FileDropzone.js b/packages/components-faraday/src/components/Files/FileDropzone.js
similarity index 100%
rename from packages/component-wizard/src/components/FileDropzone.js
rename to packages/components-faraday/src/components/Files/FileDropzone.js
diff --git a/packages/component-wizard/src/components/FileDropzone.local.scss b/packages/components-faraday/src/components/Files/FileDropzone.local.scss
similarity index 100%
rename from packages/component-wizard/src/components/FileDropzone.local.scss
rename to packages/components-faraday/src/components/Files/FileDropzone.local.scss
diff --git a/packages/component-wizard/src/components/FileItem.js b/packages/components-faraday/src/components/Files/FileItem.js
similarity index 100%
rename from packages/component-wizard/src/components/FileItem.js
rename to packages/components-faraday/src/components/Files/FileItem.js
diff --git a/packages/component-wizard/src/components/FileItem.local.scss b/packages/components-faraday/src/components/Files/FileItem.local.scss
similarity index 100%
rename from packages/component-wizard/src/components/FileItem.local.scss
rename to packages/components-faraday/src/components/Files/FileItem.local.scss
diff --git a/packages/component-wizard/src/components/FilePicker.js b/packages/components-faraday/src/components/Files/FilePicker.js
similarity index 100%
rename from packages/component-wizard/src/components/FilePicker.js
rename to packages/components-faraday/src/components/Files/FilePicker.js
diff --git a/packages/component-wizard/src/components/FileSection.js b/packages/components-faraday/src/components/Files/FileSection.js
similarity index 100%
rename from packages/component-wizard/src/components/FileSection.js
rename to packages/components-faraday/src/components/Files/FileSection.js
diff --git a/packages/component-wizard/src/components/FileSection.local.scss b/packages/components-faraday/src/components/Files/FileSection.local.scss
similarity index 100%
rename from packages/component-wizard/src/components/FileSection.local.scss
rename to packages/components-faraday/src/components/Files/FileSection.local.scss
diff --git a/packages/component-wizard/src/components/Files.js b/packages/components-faraday/src/components/Files/Files.js
similarity index 99%
rename from packages/component-wizard/src/components/Files.js
rename to packages/components-faraday/src/components/Files/Files.js
index b4e3683ae3fda8054b55f618f65b7903831bae1d..f61eaca9b74c0e6dc61161f5300acf1a80d817d8 100644
--- a/packages/component-wizard/src/components/Files.js
+++ b/packages/components-faraday/src/components/Files/Files.js
@@ -21,7 +21,7 @@ import {
   deleteFile,
   getRequestStatus,
   getSignedUrl,
-} from '../redux/files'
+} from '../../redux/files'
 
 const Files = ({
   files,
diff --git a/packages/component-wizard/src/components/Files.local.scss b/packages/components-faraday/src/components/Files/Files.local.scss
similarity index 100%
rename from packages/component-wizard/src/components/Files.local.scss
rename to packages/components-faraday/src/components/Files/Files.local.scss
diff --git a/packages/components-faraday/src/components/Files/index.js b/packages/components-faraday/src/components/Files/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..6df727395c45e4df9e5db1d031a4d43146ad8440
--- /dev/null
+++ b/packages/components-faraday/src/components/Files/index.js
@@ -0,0 +1 @@
+export { default as Files } from './Files'
diff --git a/packages/components-faraday/src/components/SortableList/SortableList.js b/packages/components-faraday/src/components/SortableList/SortableList.js
index 8b8baa48201415584cf33343d98b77370cf77c66..ccbe292df8aa82e92a813650483ba8fb5b90c1d2 100644
--- a/packages/components-faraday/src/components/SortableList/SortableList.js
+++ b/packages/components-faraday/src/components/SortableList/SortableList.js
@@ -93,6 +93,7 @@ const DecoratedItem = compose(
 
 const SortableList = ({
   items,
+  itemKey = 'id',
   moveItem,
   listItem,
   dragHandle,
@@ -104,7 +105,7 @@ const SortableList = ({
       <DecoratedItem
         dragHandle={dragHandle}
         index={i}
-        key={item.id}
+        key={item[itemKey]}
         listItem={listItem}
         moveItem={moveItem}
         {...item}
diff --git a/packages/components-faraday/src/components/SortableList/SortableList.md b/packages/components-faraday/src/components/SortableList/SortableList.md
index e6da217d33f181dc1fca556935a0f214ff3aeb2d..3eb03059c3b668e86c210ea3c31221abb05349ec 100644
--- a/packages/components-faraday/src/components/SortableList/SortableList.md
+++ b/packages/components-faraday/src/components/SortableList/SortableList.md
@@ -2,13 +2,15 @@ A sortable list implemented with `react-dnd`.
 
 ## Props
 
-|    Prop    |                                                                 Description                                                                  | Required |        Default        |
-| :--------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :------: | :-------------------: |
-|   items    |                                                       The items of the sortable list.                                                        |   true   |          []           |
-|  listItem  | A React component that will be rendered for each item of the list. Receives `isDragging`, `isOver` and all other props from the items array. |   true   |         none          |
-|  moveItem  |       Function to be called when moving an item through the list. SortableList will provide the dragIndex of hoverIndex of the items.        |   true   | SortableList.moveItem |
-| dragHandle |                            A React component for the drag handle. If not present, the whole item can be dragged.                             |  false   |         none          |
-|  dropItem  |                            Function to be called when dropping an item. The index of the dragged item is passed.                             |  false   |         none          |
+|    Prop    |                                                                 Description                                                                  | Required |        Default        | Type |
+| :--------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :------: | :-------------------: | :---: |
+|   items    |                                                       The items of the sortable list.                                                        |   true   |          []           | Array |
+| itemKey | Value used for key when mapping over items. | true | 'id' | string |
+|  listItem  | A React component that will be rendered for each item of the list. Receives `isDragging`, `isOver` and all other props from the items array. |   true   |         none          | React component |
+|  moveItem  |       Function to be called when moving an item through the list. SortableList will provide the dragIndex of hoverIndex of the items.        |   true   | none | function  |
+| dragHandle |                            A React component for the drag handle. If not present, the whole item can be dragged.                             |  false   |         none          | React component |
+|  dropItem  |                            Function to be called when dropping an item. The index of the dragged item is passed.                             |  false   |         none          | function |
+| beginDragProps | Array of keys to pick from the dragged object when beginning drag.  | false | [] | Array(string) |
 
 ## Usage
 
diff --git a/packages/components-faraday/src/components/index.js b/packages/components-faraday/src/components/index.js
index 0415e239be428e08fb784833112bb521c8af7a49..210934a75eb51d1f7c9f9b38e344ab3af2852003 100644
--- a/packages/components-faraday/src/components/index.js
+++ b/packages/components-faraday/src/components/index.js
@@ -1,5 +1,6 @@
-export { default as SortableList } from './SortableList/SortableList'
+export { default as Files } from './Files/Files'
 export { default as AuthorList } from './AuthorList/AuthorList'
+export { default as SortableList } from './SortableList/SortableList'
 
-export { Dropdown, Logo, Spinner } from './UIComponents'
 export { DragHandle } from './AuthorList/FormItems'
+export { Dropdown, Logo, Spinner } from './UIComponents'
diff --git a/packages/components-faraday/src/index.js b/packages/components-faraday/src/index.js
index 70c96833395b805503aba42b54417baee276e117..3c0ed73cabca75cdc957af41d97563815a4e1498 100644
--- a/packages/components-faraday/src/index.js
+++ b/packages/components-faraday/src/index.js
@@ -3,6 +3,7 @@ module.exports = {
     components: [() => require('./components')],
     reducers: {
       authors: () => require('./redux/authors').default,
+      files: () => require('./redux/files').default,
       filters: () => require('./components/Dashboard/redux/filters').default,
     },
   },
diff --git a/packages/component-wizard/src/redux/files.js b/packages/components-faraday/src/redux/files.js
similarity index 100%
rename from packages/component-wizard/src/redux/files.js
rename to packages/components-faraday/src/redux/files.js
diff --git a/packages/xpub-faraday/app/config/journal/submit-wizard.js b/packages/xpub-faraday/app/config/journal/submit-wizard.js
index 261390aa2c296cd39170e2d5dadb2171331dc079..3a63214bbc415175b315d8bcefd0a597ce6d0717 100644
--- a/packages/xpub-faraday/app/config/journal/submit-wizard.js
+++ b/packages/xpub-faraday/app/config/journal/submit-wizard.js
@@ -3,8 +3,7 @@ import { AbstractEditor, TitleEditor } from 'xpub-edit'
 import { Menu, CheckboxGroup, YesOrNo, TextField } from '@pubsweet/ui'
 import uploadFileFn from 'xpub-upload'
 import { required, minChars, minSize } from 'xpub-validators'
-import { Files } from 'pubsweet-component-wizard/src/components/'
-import { AuthorList } from 'pubsweet-components-faraday/src/components'
+import { AuthorList, Files } from 'pubsweet-components-faraday/src/components'
 
 import { declarations } from './'
 import issueTypes from './issues-types'