diff --git a/.idea/modules.xml b/.idea/modules.xml
index 0f5579965ae4..eb596394d000 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -149,10 +149,8 @@
-
+
-
-
diff --git a/platform/dvcs/dvcs.iml b/platform/dvcs/dvcs.iml
index cb139ee3b014..cca5f7712575 100644
--- a/platform/dvcs/dvcs.iml
+++ b/platform/dvcs/dvcs.iml
@@ -14,9 +14,8 @@
-
-
+
diff --git a/platform/vcs-log/ui/icons/apply-16.png b/platform/vcs-log/impl/icons/apply-16.png
similarity index 100%
rename from platform/vcs-log/ui/icons/apply-16.png
rename to platform/vcs-log/impl/icons/apply-16.png
diff --git a/platform/vcs-log/ui/icons/arrow-32.png b/platform/vcs-log/impl/icons/arrow-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/arrow-32.png
rename to platform/vcs-log/impl/icons/arrow-32.png
diff --git a/platform/vcs-log/ui/icons/bricks-multicolor-32.png b/platform/vcs-log/impl/icons/bricks-multicolor-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/bricks-multicolor-32.png
rename to platform/vcs-log/impl/icons/bricks-multicolor-32.png
diff --git a/platform/vcs-log/ui/icons/bricks-user-32.png b/platform/vcs-log/impl/icons/bricks-user-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/bricks-user-32.png
rename to platform/vcs-log/impl/icons/bricks-user-32.png
diff --git a/platform/vcs-log/ui/icons/cancel-16.png b/platform/vcs-log/impl/icons/cancel-16.png
similarity index 100%
rename from platform/vcs-log/ui/icons/cancel-16.png
rename to platform/vcs-log/impl/icons/cancel-16.png
diff --git a/platform/vcs-log/ui/icons/cherry-pick-32.png b/platform/vcs-log/impl/icons/cherry-pick-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/cherry-pick-32.png
rename to platform/vcs-log/impl/icons/cherry-pick-32.png
diff --git a/platform/vcs-log/ui/icons/edit-32.png b/platform/vcs-log/impl/icons/edit-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/edit-32.png
rename to platform/vcs-log/impl/icons/edit-32.png
diff --git a/platform/vcs-log/ui/icons/fixup-32.png b/platform/vcs-log/impl/icons/fixup-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/fixup-32.png
rename to platform/vcs-log/impl/icons/fixup-32.png
diff --git a/platform/vcs-log/ui/icons/forbidden-32.png b/platform/vcs-log/impl/icons/forbidden-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/forbidden-32.png
rename to platform/vcs-log/impl/icons/forbidden-32.png
diff --git a/platform/vcs-log/ui/icons/move-32.png b/platform/vcs-log/impl/icons/move-32.png
similarity index 100%
rename from platform/vcs-log/ui/icons/move-32.png
rename to platform/vcs-log/impl/icons/move-32.png
diff --git a/platform/vcs-log/ui/icons/spider-1-16.png b/platform/vcs-log/impl/icons/spider-1-16.png
similarity index 100%
rename from platform/vcs-log/ui/icons/spider-1-16.png
rename to platform/vcs-log/impl/icons/spider-1-16.png
diff --git a/platform/vcs-log/ui/icons/spider-16-2.png b/platform/vcs-log/impl/icons/spider-16-2.png
similarity index 100%
rename from platform/vcs-log/ui/icons/spider-16-2.png
rename to platform/vcs-log/impl/icons/spider-16-2.png
diff --git a/platform/vcs-log/ui/icons/spider-16.png b/platform/vcs-log/impl/icons/spider-16.png
similarity index 100%
rename from platform/vcs-log/ui/icons/spider-16.png
rename to platform/vcs-log/impl/icons/spider-16.png
diff --git a/platform/vcs-log/ui/icons/web-16.png b/platform/vcs-log/impl/icons/web-16.png
similarity index 100%
rename from platform/vcs-log/ui/icons/web-16.png
rename to platform/vcs-log/impl/icons/web-16.png
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/CommitDetailsGetter.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/CommitDetailsGetter.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/CommitDetailsGetter.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/CommitDetailsGetter.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/DataGetter.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/DataGetter.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/DataGetter.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/DataGetter.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/DataPack.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/DataPack.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/DataPack.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/DataPack.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/LoadingDetails.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/LoadingDetails.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/LoadingDetails.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/LoadingDetails.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/MiniDetailsGetter.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/MiniDetailsGetter.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/MiniDetailsGetter.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/MiniDetailsGetter.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/RefsModel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/RefsModel.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/RefsModel.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/RefsModel.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsCommitCache.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsCommitCache.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsCommitCache.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsCommitCache.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsLogDataHolder.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogDataHolder.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsLogDataHolder.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogDataHolder.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsLogJoiner.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogJoiner.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsLogJoiner.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogJoiner.java
diff --git a/platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java
similarity index 100%
rename from platform/vcs-log/data/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/GitLogIcons.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/GitLogIcons.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/GitLogIcons.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/GitLogIcons.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/VcsLogColorManager.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManager.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/VcsLogColorManager.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManager.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/VcsLogUI.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUI.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/VcsLogUI.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUI.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/ActiveSurface.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/ActiveSurface.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/ActiveSurface.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/ActiveSurface.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/BranchesPanel.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/MainFrame.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/MainFrame.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/render/RefPainter.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/RefPainter.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/render/RefPainter.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/RefPainter.java
diff --git a/platform/vcs-log/ui/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java
similarity index 100%
rename from platform/vcs-log/ui/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java
rename to platform/vcs-log/impl/src/com/intellij/vcs/log/ui/tables/GraphTableModel.java
diff --git a/platform/vcs-log/data/test/com/intellij/vcs/log/data/VcsLogJoinerTest.java b/platform/vcs-log/impl/test/com/intellij/vcs/log/data/VcsLogJoinerTest.java
similarity index 100%
rename from platform/vcs-log/data/test/com/intellij/vcs/log/data/VcsLogJoinerTest.java
rename to platform/vcs-log/impl/test/com/intellij/vcs/log/data/VcsLogJoinerTest.java
diff --git a/platform/vcs-log/data/test/com/intellij/vcs/log/data/VcsLogMultiRepoJoinerTest.java b/platform/vcs-log/impl/test/com/intellij/vcs/log/data/VcsLogMultiRepoJoinerTest.java
similarity index 100%
rename from platform/vcs-log/data/test/com/intellij/vcs/log/data/VcsLogMultiRepoJoinerTest.java
rename to platform/vcs-log/impl/test/com/intellij/vcs/log/data/VcsLogMultiRepoJoinerTest.java
diff --git a/platform/vcs-log/data/vcs-log-data.iml b/platform/vcs-log/impl/vcs-log-impl.iml
similarity index 81%
rename from platform/vcs-log/data/vcs-log-data.iml
rename to platform/vcs-log/impl/vcs-log-impl.iml
index d6e3113f8810..842bd62f4de0 100644
--- a/platform/vcs-log/data/vcs-log-data.iml
+++ b/platform/vcs-log/impl/vcs-log-impl.iml
@@ -5,6 +5,7 @@
+
@@ -14,6 +15,8 @@
+
+
diff --git a/platform/vcs-log/ui/vcs-log-ui.iml b/platform/vcs-log/ui/vcs-log-ui.iml
deleted file mode 100644
index 022be6d95c0e..000000000000
--- a/platform/vcs-log/ui/vcs-log-ui.iml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/git4idea/git4idea.iml b/plugins/git4idea/git4idea.iml
index 5529ac5deba3..2c15561b8051 100644
--- a/plugins/git4idea/git4idea.iml
+++ b/plugins/git4idea/git4idea.iml
@@ -69,7 +69,7 @@
-
+