diff --git a/platform/diff-api/diff-api.iml b/platform/diff-api/diff-api.iml
index 1f5324270b88..e7003926ffb3 100644
--- a/platform/diff-api/diff-api.iml
+++ b/platform/diff-api/diff-api.iml
@@ -7,9 +7,6 @@
-
-
-
\ No newline at end of file
diff --git a/platform/diff-impl/src/com/intellij/diff/requests/ErrorDiffRequest.java b/platform/diff-api/src/com/intellij/diff/requests/ErrorDiffRequest.java
similarity index 100%
rename from platform/diff-impl/src/com/intellij/diff/requests/ErrorDiffRequest.java
rename to platform/diff-api/src/com/intellij/diff/requests/ErrorDiffRequest.java
diff --git a/platform/diff-api/src/com/intellij/diff/impl/DiffContentFactoryImpl.java b/platform/diff-impl/src/com/intellij/diff/DiffContentFactoryImpl.java
similarity index 99%
rename from platform/diff-api/src/com/intellij/diff/impl/DiffContentFactoryImpl.java
rename to platform/diff-impl/src/com/intellij/diff/DiffContentFactoryImpl.java
index 08083ef6a1dd..b786d0c990e2 100644
--- a/platform/diff-api/src/com/intellij/diff/impl/DiffContentFactoryImpl.java
+++ b/platform/diff-impl/src/com/intellij/diff/DiffContentFactoryImpl.java
@@ -13,9 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.intellij.diff.impl;
+package com.intellij.diff;
-import com.intellij.diff.DiffContentFactory;
import com.intellij.diff.contents.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
diff --git a/platform/diff-api/src/com/intellij/diff/impl/DiffRequestFactoryImpl.java b/platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java
similarity index 95%
rename from platform/diff-api/src/com/intellij/diff/impl/DiffRequestFactoryImpl.java
rename to platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java
index 135423672cdb..cde5b01ac862 100644
--- a/platform/diff-api/src/com/intellij/diff/impl/DiffRequestFactoryImpl.java
+++ b/platform/diff-impl/src/com/intellij/diff/DiffRequestFactoryImpl.java
@@ -13,10 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.intellij.diff.impl;
+package com.intellij.diff;
-import com.intellij.diff.DiffContentFactory;
-import com.intellij.diff.DiffRequestFactory;
import com.intellij.diff.contents.DiffContent;
import com.intellij.diff.requests.ContentDiffRequest;
import com.intellij.diff.requests.SimpleDiffRequest;
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/ByChar.java b/platform/diff-impl/src/com/intellij/diff/comparison/ByChar.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/ByChar.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/ByChar.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/ByLine.java b/platform/diff-impl/src/com/intellij/diff/comparison/ByLine.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/ByLine.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/ByLine.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/ByWord.java b/platform/diff-impl/src/com/intellij/diff/comparison/ByWord.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/ByWord.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/ByWord.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/ChangeCorrector.java b/platform/diff-impl/src/com/intellij/diff/comparison/ChangeCorrector.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/ChangeCorrector.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/ChangeCorrector.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/ComparisonManagerImpl.java b/platform/diff-impl/src/com/intellij/diff/comparison/ComparisonManagerImpl.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/ComparisonManagerImpl.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/ComparisonManagerImpl.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/LineFragmentSplitter.java b/platform/diff-impl/src/com/intellij/diff/comparison/LineFragmentSplitter.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/LineFragmentSplitter.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/LineFragmentSplitter.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/MergeUtil.java b/platform/diff-impl/src/com/intellij/diff/comparison/MergeUtil.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/MergeUtil.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/MergeUtil.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/TextChunk.java b/platform/diff-impl/src/com/intellij/diff/comparison/TextChunk.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/TextChunk.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/TextChunk.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/TrimUtil.java b/platform/diff-impl/src/com/intellij/diff/comparison/TrimUtil.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/TrimUtil.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/TrimUtil.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/ChangeDiffIterableBase.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/ChangeDiffIterableBase.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/ChangeDiffIterableBase.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/ChangeDiffIterableBase.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffChangeDiffIterable.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffChangeDiffIterable.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffChangeDiffIterable.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffChangeDiffIterable.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffFragmentsDiffIterable.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffFragmentsDiffIterable.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffFragmentsDiffIterable.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffFragmentsDiffIterable.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffIterable.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffIterable.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffIterable.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffIterable.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffIterableBase.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffIterableBase.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffIterableBase.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffIterableBase.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffIterableUtil.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffIterableUtil.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/DiffIterableUtil.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/DiffIterableUtil.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/FairDiffIterable.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/FairDiffIterable.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/FairDiffIterable.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/FairDiffIterable.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/FairDiffIterableWrapper.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/FairDiffIterableWrapper.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/FairDiffIterableWrapper.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/FairDiffIterableWrapper.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/InvertedDiffIterableWrapper.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/InvertedDiffIterableWrapper.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/InvertedDiffIterableWrapper.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/InvertedDiffIterableWrapper.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/RangesDiffIterable.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/RangesDiffIterable.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/RangesDiffIterable.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/RangesDiffIterable.java
diff --git a/platform/diff-api/src/com/intellij/diff/comparison/iterables/SubiterableDiffIterable.java b/platform/diff-impl/src/com/intellij/diff/comparison/iterables/SubiterableDiffIterable.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/comparison/iterables/SubiterableDiffIterable.java
rename to platform/diff-impl/src/com/intellij/diff/comparison/iterables/SubiterableDiffIterable.java
diff --git a/platform/diff-api/src/com/intellij/diff/contents/BinaryFileContentImpl.java b/platform/diff-impl/src/com/intellij/diff/contents/BinaryFileContentImpl.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/contents/BinaryFileContentImpl.java
rename to platform/diff-impl/src/com/intellij/diff/contents/BinaryFileContentImpl.java
diff --git a/platform/diff-api/src/com/intellij/diff/contents/DirectoryContentImpl.java b/platform/diff-impl/src/com/intellij/diff/contents/DirectoryContentImpl.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/contents/DirectoryContentImpl.java
rename to platform/diff-impl/src/com/intellij/diff/contents/DirectoryContentImpl.java
diff --git a/platform/diff-api/src/com/intellij/diff/contents/DocumentContentImpl.java b/platform/diff-impl/src/com/intellij/diff/contents/DocumentContentImpl.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/contents/DocumentContentImpl.java
rename to platform/diff-impl/src/com/intellij/diff/contents/DocumentContentImpl.java
diff --git a/platform/diff-api/src/com/intellij/diff/contents/DocumentContentWrapper.java b/platform/diff-impl/src/com/intellij/diff/contents/DocumentContentWrapper.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/contents/DocumentContentWrapper.java
rename to platform/diff-impl/src/com/intellij/diff/contents/DocumentContentWrapper.java
diff --git a/platform/diff-api/src/com/intellij/diff/contents/FileDocumentContentImpl.java b/platform/diff-impl/src/com/intellij/diff/contents/FileDocumentContentImpl.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/contents/FileDocumentContentImpl.java
rename to platform/diff-impl/src/com/intellij/diff/contents/FileDocumentContentImpl.java
diff --git a/platform/diff-api/src/com/intellij/diff/contents/SimpleContentBuilder.java b/platform/diff-impl/src/com/intellij/diff/contents/SimpleContentBuilder.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/contents/SimpleContentBuilder.java
rename to platform/diff-impl/src/com/intellij/diff/contents/SimpleContentBuilder.java
diff --git a/platform/diff-api/src/com/intellij/diff/fragments/MergeLineFragment.java b/platform/diff-impl/src/com/intellij/diff/fragments/MergeLineFragment.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/fragments/MergeLineFragment.java
rename to platform/diff-impl/src/com/intellij/diff/fragments/MergeLineFragment.java
diff --git a/platform/diff-api/src/com/intellij/diff/requests/LoadingDiffRequest.java b/platform/diff-impl/src/com/intellij/diff/requests/LoadingDiffRequest.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/requests/LoadingDiffRequest.java
rename to platform/diff-impl/src/com/intellij/diff/requests/LoadingDiffRequest.java
diff --git a/platform/diff-api/src/com/intellij/diff/requests/OperationCanceledDiffRequest.java b/platform/diff-impl/src/com/intellij/diff/requests/OperationCanceledDiffRequest.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/requests/OperationCanceledDiffRequest.java
rename to platform/diff-impl/src/com/intellij/diff/requests/OperationCanceledDiffRequest.java
diff --git a/platform/diff-api/src/com/intellij/diff/util/DiffPlaces.java b/platform/diff-impl/src/com/intellij/diff/util/DiffPlaces.java
similarity index 100%
rename from platform/diff-api/src/com/intellij/diff/util/DiffPlaces.java
rename to platform/diff-impl/src/com/intellij/diff/util/DiffPlaces.java
diff --git a/platform/platform-resources/src/META-INF/PlatformExtensions.xml b/platform/platform-resources/src/META-INF/PlatformExtensions.xml
index b60ba49f752b..d0101147e9d7 100644
--- a/platform/platform-resources/src/META-INF/PlatformExtensions.xml
+++ b/platform/platform-resources/src/META-INF/PlatformExtensions.xml
@@ -84,9 +84,9 @@
+ serviceImplementation="com.intellij.diff.DiffContentFactoryImpl"/>
+ serviceImplementation="com.intellij.diff.DiffRequestFactoryImpl"/>