diff --git a/wax-prosemirror-components/index.js b/wax-prosemirror-components/index.js
index b10ab854e2e14117ba565eeb00fa1736de06897e..9583c8fb37124b7f989c80ad45275622c053d56d 100644
--- a/wax-prosemirror-components/index.js
+++ b/wax-prosemirror-components/index.js
@@ -3,6 +3,3 @@ export { default as UndoRedoButton } from './src/components/UndoRedoButton';
 export { default as MenuButton } from './src/ui/buttons/MenuButton';
 export { default as icons } from './src/icons/icons';
 export { default as Icon } from './src/helpers/Icon';
-
-export { default as Tabs } from './src/ui/tabs/Tabs';
-export { default as BlockLevelTools } from './src/ui/tabs/BlockLevelTools';
diff --git a/wax-prosemirror-core/index.js b/wax-prosemirror-core/index.js
index 1550c8d408e9e7b50de09fe43fad0d843e034dd4..6eddd71bf03836b388dbb2ed8e66171d5ce0ca52 100644
--- a/wax-prosemirror-core/index.js
+++ b/wax-prosemirror-core/index.js
@@ -41,3 +41,5 @@ export { default as useDebounce } from './src/components/helpers/useDebounce';
 export { default as useOnClickOutside } from './src/components/helpers/useOnClickOutside';
 export { default as ToolGroupComponent } from './src/components/ToolGroupComponent';
 export { default as ToolGroups } from './src/components/ToolGroups';
+export { default as BlockLevelTools } from './src/components/tabs/BlockLevelTools';
+export { default as Tabs } from './src/components/tabs/Tabs';
diff --git a/wax-prosemirror-components/src/ui/tabs/BlockElement.js b/wax-prosemirror-core/src/components/tabs/BlockElement.js
similarity index 100%
rename from wax-prosemirror-components/src/ui/tabs/BlockElement.js
rename to wax-prosemirror-core/src/components/tabs/BlockElement.js
diff --git a/wax-prosemirror-components/src/ui/tabs/BlockElementGroup.js b/wax-prosemirror-core/src/components/tabs/BlockElementGroup.js
similarity index 97%
rename from wax-prosemirror-components/src/ui/tabs/BlockElementGroup.js
rename to wax-prosemirror-core/src/components/tabs/BlockElementGroup.js
index 732742cf490d516b46619fde3178412c57766ec0..73fdb30f155276b4c3bb3f89c46ccd5719bfaea4 100644
--- a/wax-prosemirror-components/src/ui/tabs/BlockElementGroup.js
+++ b/wax-prosemirror-core/src/components/tabs/BlockElementGroup.js
@@ -1,11 +1,11 @@
 /* eslint-disable react/prop-types */
 import React, { useState } from 'react';
 import { th } from '@pubsweet/ui-toolkit';
+import { Icon } from 'wax-prosemirror-components';
 import styled from 'styled-components';
 import CustomTagBlockComponent from './CustomTagBlockComponent';
 import OENToolGroup from './OENToolGroup';
 import BlockElement from './BlockElement';
-import Icon from '../../helpers/Icon';
 
 const GroupName = styled.div`
   font-size: 14px;
diff --git a/wax-prosemirror-components/src/ui/tabs/BlockLevelTools.js b/wax-prosemirror-core/src/components/tabs/BlockLevelTools.js
similarity index 100%
rename from wax-prosemirror-components/src/ui/tabs/BlockLevelTools.js
rename to wax-prosemirror-core/src/components/tabs/BlockLevelTools.js
diff --git a/wax-prosemirror-components/src/ui/tabs/CustomTagBlockComponent.js b/wax-prosemirror-core/src/components/tabs/CustomTagBlockComponent.js
similarity index 97%
rename from wax-prosemirror-components/src/ui/tabs/CustomTagBlockComponent.js
rename to wax-prosemirror-core/src/components/tabs/CustomTagBlockComponent.js
index e83e150b7efca084626ab32cd965b0ae361282f2..7ca65343395dc11bf8d67867e0375f57b3092df8 100644
--- a/wax-prosemirror-components/src/ui/tabs/CustomTagBlockComponent.js
+++ b/wax-prosemirror-core/src/components/tabs/CustomTagBlockComponent.js
@@ -1,8 +1,8 @@
 import React, { useContext, useMemo, useRef, useState, useEffect } from 'react';
 import styled, { css } from 'styled-components';
-import { WaxContext } from 'wax-prosemirror-core';
 import { v4 as uuidv4 } from 'uuid';
-import MenuButton from '../buttons/MenuButton';
+import { MenuButton } from 'wax-prosemirror-components';
+import { WaxContext } from '../../WaxContext';
 
 const activeStyles = css`
   pointer-events: none;
diff --git a/wax-prosemirror-components/src/ui/tabs/OENToolGroup.js b/wax-prosemirror-core/src/components/tabs/OENToolGroup.js
similarity index 97%
rename from wax-prosemirror-components/src/ui/tabs/OENToolGroup.js
rename to wax-prosemirror-core/src/components/tabs/OENToolGroup.js
index 7b8da6ecd564de9d2e8fa5e30f3aec0ff68a3f96..4ee686fdaf70c646d18f924eb3cecb769075e26d 100644
--- a/wax-prosemirror-components/src/ui/tabs/OENToolGroup.js
+++ b/wax-prosemirror-core/src/components/tabs/OENToolGroup.js
@@ -1,10 +1,10 @@
 import React, { useContext, useMemo } from 'react';
 import styled, { css } from 'styled-components';
-import { WaxContext } from 'wax-prosemirror-core';
 import { wrapIn } from 'prosemirror-commands';
 import { v4 as uuidv4 } from 'uuid';
 import { liftTarget } from 'prosemirror-transform';
-import MenuButton from '../buttons/MenuButton';
+import { MenuButton } from 'wax-prosemirror-components';
+import { WaxContext } from '../../WaxContext';
 
 const activeStyles = css`
   pointer-events: none;
diff --git a/wax-prosemirror-components/src/ui/tabs/Tabs.js b/wax-prosemirror-core/src/components/tabs/Tabs.js
similarity index 97%
rename from wax-prosemirror-components/src/ui/tabs/Tabs.js
rename to wax-prosemirror-core/src/components/tabs/Tabs.js
index f7cec455e93178acfbc10e79caffbdeae20e7fea..c2dc9842fc4a212191da81a3f1956bb21a96b974 100644
--- a/wax-prosemirror-components/src/ui/tabs/Tabs.js
+++ b/wax-prosemirror-core/src/components/tabs/Tabs.js
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
 import { th } from '@pubsweet/ui-toolkit';
 import PropTypes from 'prop-types';
 import styled, { css } from 'styled-components';
-import Icon from '../../helpers/Icon';
+import { Icon } from 'wax-prosemirror-components';
 
 const Wrapper = styled.div`
   display: flex;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/DisplayTextToolGroupService/DisplayText.js b/wax-prosemirror-services/src/WaxToolGroups/DisplayTextToolGroupService/DisplayText.js
index 2f12e610438553947a42426c8f208acf553bca7b..718ea54cbcb249dc99a350873e852bd25c396b95 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/DisplayTextToolGroupService/DisplayText.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/DisplayTextToolGroupService/DisplayText.js
@@ -1,11 +1,10 @@
 /* eslint-disable no-underscore-dangle */
 import React, { useMemo } from 'react';
 import { injectable, inject } from 'inversify';
-import { BlockLevelTools, Tabs } from 'wax-prosemirror-components';
 import { isEmpty } from 'lodash';
 import styled from 'styled-components';
 import { v4 as uuidv4 } from 'uuid';
-import { ToolGroup } from 'wax-prosemirror-core';
+import { ToolGroup, BlockLevelTools, Tabs } from 'wax-prosemirror-core';
 
 const Empty = styled.div`
   background: khaki;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js b/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js
index 16f63e39ecbcc441b5097735060de2de6e51c4ed..fe5c02cf398632bff928b87e95d2f396f60e6144 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js
@@ -1,11 +1,10 @@
 /* eslint-disable no-underscore-dangle */
 import React, { useMemo } from 'react';
 import { injectable, inject } from 'inversify';
-import { BlockLevelTools, Tabs } from 'wax-prosemirror-components';
 import { isEmpty } from 'lodash';
 import styled from 'styled-components';
 import { v4 as uuidv4 } from 'uuid';
-import { ToolGroup } from 'wax-prosemirror-core';
+import { ToolGroup, BlockLevelTools, Tabs } from 'wax-prosemirror-core';
 
 const Empty = styled.div`
   background: khaki;