diff --git a/dlangide_msvc.visualdproj b/dlangide_msvc.visualdproj
index b07be13..a821311 100644
--- a/dlangide_msvc.visualdproj
+++ b/dlangide_msvc.visualdproj
@@ -473,6 +473,80 @@
     <File path="src\dlangide\workspace\workspacesettings.d" />
    </Folder>
   </Folder>
+  <Folder name="3rdparty">
+   <Folder name="dcd">
+    <File path="..\DCD\src\server\autocomplete.d" />
+    <File path="..\DCD\src\common\constants.d" />
+    <File path="..\DCD\src\common\dcd_version.d" />
+    <File path="..\DCD\src\common\messages.d" />
+   </Folder>
+   <Folder name="dsymbol">
+    <File path="..\dsymbol\src\dsymbol\cache_entry.d" />
+    <File path="..\dsymbol\src\dsymbol\deferred.d" />
+    <File path="..\dsymbol\src\dsymbol\conversion\first.d" />
+    <File path="..\dsymbol\src\dsymbol\import_.d" />
+    <File path="..\dsymbol\src\dsymbol\modulecache.d" />
+    <File path="..\dsymbol\src\dsymbol\builtin\names.d" />
+    <File path="..\dsymbol\src\dsymbol\conversion\package.d" />
+    <File path="..\dsymbol\src\dsymbol\scope_.d" />
+    <File path="..\dsymbol\src\dsymbol\conversion\second.d" />
+    <File path="..\dsymbol\src\dsymbol\semantic.d" />
+    <File path="..\dsymbol\src\dsymbol\string_interning.d" />
+    <File path="..\dsymbol\src\dsymbol\symbol.d" />
+    <File path="..\dsymbol\src\dsymbol\builtin\symbols.d" />
+    <File path="..\dsymbol\src\dsymbol\type_lookup.d" />
+   </Folder>
+   <Folder name="libdparse">
+    <File path="..\libdparse\src\dparse\ast.d" />
+    <File path="..\libdparse\src\dparse\entities.d" />
+    <File path="..\libdparse\src\dparse\formatter.d" />
+    <File path="..\libdparse\src\std\experimental\lexer.d" />
+    <File path="..\libdparse\src\dparse\lexer.d" />
+    <File path="..\libdparse\src\dparse\parser.d" />
+   </Folder>
+   <Folder name="containers">
+    <File path="..\containers\src\containers\dynamicarray.d" />
+    <File path="..\containers\src\containers\internal\element_type.d" />
+    <File path="..\containers\src\containers\internal\hash.d" />
+    <File path="..\containers\src\containers\hashmap.d" />
+    <File path="..\containers\src\containers\hashset.d" />
+    <File path="..\containers\src\containers\immutablehashset.d" />
+    <File path="..\containers\src\containers\internal\mixins.d" />
+    <File path="..\containers\src\containers\internal\node.d" />
+    <File path="..\containers\src\containers\openhashset.d" />
+    <File path="..\containers\src\containers\package.d" />
+    <File path="..\containers\src\containers\simdset.d" />
+    <File path="..\containers\src\containers\slist.d" />
+    <File path="..\containers\src\containers\internal\storage_type.d" />
+    <File path="..\containers\src\containers\treemap.d" />
+    <File path="..\containers\src\containers\ttree.d" />
+    <File path="..\containers\src\containers\unrolledlist.d" />
+   </Folder>
+   <Folder name="experimental_allocator">
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\affix_allocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\allocator_list.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\bitmapped_block.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\bucketizer.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\common.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\fallback_allocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\free_list.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\free_tree.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\gc_allocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\kernighan_ritchie.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\mallocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\mmap_allocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\null_allocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\package.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\package.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\quantizer.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\region.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\scoped_allocator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\segregator.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\showcase.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\building_blocks\stats_collector.d" />
+    <File path="..\experimental_allocator\src\std\experimental\allocator\typed.d" />
+   </Folder>
+  </Folder>
   <File path="src\dlangide.d" />
  </Folder>
 </DProject>
diff --git a/src/ddc/lexer/tokenizer.d b/src/ddc/lexer/tokenizer.d
index c686db8..aca4e17 100644
--- a/src/ddc/lexer/tokenizer.d
+++ b/src/ddc/lexer/tokenizer.d
@@ -1571,10 +1571,10 @@ class Tokenizer
     }
 
     this(SourceLines lineStream) {
-        init(lineStream);
+        initialize(lineStream);
     }
 
-    void init(SourceLines lineStream, int pos = 0) {
+    void initialize(SourceLines lineStream, int pos = 0) {
         _lineStream = lineStream;
         SourceFile file = _lineStream.file;
         _sharedWhiteSpaceToken.setFile(file);
diff --git a/src/dlangide/tools/d/dsyntax.d b/src/dlangide/tools/d/dsyntax.d
index 63c4dee..bdcad07 100644
--- a/src/dlangide/tools/d/dsyntax.d
+++ b/src/dlangide/tools/d/dsyntax.d
@@ -280,8 +280,8 @@ class SimpleDSyntaxSupport : SyntaxSupport {
     protected Token _lastToken;
     protected bool initTokenizer(TextPosition startPos) {
         const dstring[] lines = content.lines;
-        _lines.init(cast(dstring[])(lines[startPos.line .. $]), _file, startPos.line);
-        _tokenizer.init(_lines, startPos.pos);
+        _lines.initialize(cast(dstring[])(lines[startPos.line .. $]), _file, startPos.line);
+        _tokenizer.initialize(_lines, startPos.pos);
         _lastTokenStart = startPos;
         _lastToken = null;
         nextToken();
@@ -536,8 +536,8 @@ class SimpleDSyntaxSupport : SyntaxSupport {
         _props = props;
         changeStartLine = 0;
         changeEndLine = cast(int)lines.length;
-        _lines.init(lines[changeStartLine..$], _file, changeStartLine);
-        _tokenizer.init(_lines);
+        _lines.initialize(lines[changeStartLine..$], _file, changeStartLine);
+        _tokenizer.initialize(_lines);
         int tokenPos = 0;
         int tokenLine = 0;
         ubyte category = 0;
diff --git a/src/dlangide/ui/frame.d b/src/dlangide/ui/frame.d
index 5035671..2383152 100644
--- a/src/dlangide/ui/frame.d
+++ b/src/dlangide/ui/frame.d
@@ -262,14 +262,14 @@ class IDEFrame : AppFrame, ProgramExecutionStatusListener, BreakpointListChangeL
         return true;
     }
 
-    override protected void init() {
+    override protected void initialize() {
         _appName = "dlangide";
         //_editorTool = new DEditorTool(this);
         _settings = new IDESettings(buildNormalizedPath(settingsDir, "settings.json"));
         _settings.load();
         _settings.updateDefaults();
         _settings.save();
-        super.init();
+        super.initialize();
     }
 
     /// move focus to editor in currently selected tab
diff --git a/src/dlangide/ui/newfile.d b/src/dlangide/ui/newfile.d
index 879fe55..47f0773 100644
--- a/src/dlangide/ui/newfile.d
+++ b/src/dlangide/ui/newfile.d
@@ -52,8 +52,8 @@ class NewFileDlg : Dialog {
             _location = folder.filename;
     }
     /// override to implement creation of dialog controls
-    override void init() {
-        super.init();
+    override void initialize() {
+        super.initialize();
         initTemplates();
         Widget content;
         try {
diff --git a/src/dlangide/ui/newproject.d b/src/dlangide/ui/newproject.d
index 6731564..d9ad554 100644
--- a/src/dlangide/ui/newproject.d
+++ b/src/dlangide/ui/newproject.d
@@ -47,8 +47,8 @@ class NewProjectDlg : Dialog {
     }
 
     /// override to implement creation of dialog controls
-    override void init() {
-        super.init();
+    override void initialize() {
+        super.initialize();
         initTemplates();
         Widget content;
         try {
diff --git a/src/dlangide/ui/outputpanel.d b/src/dlangide/ui/outputpanel.d
index c98c50f..974fe72 100644
--- a/src/dlangide/ui/outputpanel.d
+++ b/src/dlangide/ui/outputpanel.d
@@ -156,7 +156,7 @@ class OutputPanel : DockWindow {
         return _tabs;
     }
 
-    override protected void init() {
+    override protected void initialize() {
         
         //styleId = STYLE_DOCK_WINDOW;
         styleId = null;
diff --git a/src/dlangide/ui/watchpanel.d b/src/dlangide/ui/watchpanel.d
index 01aadda..d0d414f 100644
--- a/src/dlangide/ui/watchpanel.d
+++ b/src/dlangide/ui/watchpanel.d
@@ -78,7 +78,7 @@ class WatchPanel : DockWindow {
         return _tabs;
     }
 
-    override protected void init() {
+    override protected void initialize() {
         //styleId = STYLE_DOCK_WINDOW;
         styleId = null;
         //_caption.text = "Watch"d;