diff --git a/README.md b/README.md
index 50ab993..9c8b522 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
 
-    

+    
 
 
-    

+    
 
     
-    
go from data to knowledge
+    
Analyze data any time, anywhere
  +
diff --git a/docs/assets/elixir-ecosystem-v2.svg b/docs/assets/elixir-ecosystem-v2.svg
new file mode 100644
index 0000000..4dda97e
--- /dev/null
+++ b/docs/assets/elixir-ecosystem-v2.svg
@@ -0,0 +1,111 @@
+
+
diff --git a/docs/assets/elixir-ecosystem.svg b/docs/assets/elixir-ecosystem.svg
new file mode 100644
index 0000000..1c79e06
--- /dev/null
+++ b/docs/assets/elixir-ecosystem.svg
@@ -0,0 +1,122 @@
+
+
diff --git a/docs/assets/elixirnote-intro.svg b/docs/assets/elixirnote-intro.svg
new file mode 100644
index 0000000..0da304b
--- /dev/null
+++ b/docs/assets/elixirnote-intro.svg
@@ -0,0 +1,44 @@
+
+
diff --git a/docs/assets/elixirnote2.svg b/docs/assets/elixirnote2.svg
new file mode 100644
index 0000000..6edffce
--- /dev/null
+++ b/docs/assets/elixirnote2.svg
@@ -0,0 +1,10 @@
+
+
diff --git a/docs/assets/guinsoolab-badge.png b/docs/assets/guinsoolab-badge.png
new file mode 100644
index 0000000..4822269
Binary files /dev/null and b/docs/assets/guinsoolab-badge.png differ
diff --git a/docs/assets/overview-1.png b/docs/assets/overview-1.png
new file mode 100644
index 0000000..b5b461a
Binary files /dev/null and b/docs/assets/overview-1.png differ
diff --git a/docs/assets/overview-2.png b/docs/assets/overview-2.png
new file mode 100644
index 0000000..480a153
Binary files /dev/null and b/docs/assets/overview-2.png differ
diff --git a/docs/assets/overview-3.png b/docs/assets/overview-3.png
new file mode 100644
index 0000000..ee37864
Binary files /dev/null and b/docs/assets/overview-3.png differ
diff --git a/docs/assets/overview-4.png b/docs/assets/overview-4.png
new file mode 100644
index 0000000..212e9c1
Binary files /dev/null and b/docs/assets/overview-4.png differ
diff --git a/packages/application-extension/style/base.css b/packages/application-extension/style/base.css
index cd9117f..06541ea 100644
--- a/packages/application-extension/style/base.css
+++ b/packages/application-extension/style/base.css
@@ -24,3 +24,37 @@
   border: none;
   align-items: center;
 }
+
+.ͼ1 .cm-ySelectionCaretDot {
+  position: absolute;
+  top: -0.2em;
+  left: -0.2em;
+  width: 0;
+  height: 0;
+  background-color: inherit;
+  transition: transform 0.3s ease-in-out;
+  box-sizing: border-box;
+}
+
+.ͼ1 .cm-ySelectionInfo {
+  position: absolute;
+  top: -1.05em;
+  left: -1px;
+  font-size: 0.75em;
+  font-family: serif;
+  font-style: normal;
+  font-weight: normal;
+  line-height: normal;
+  user-select: none;
+  color: white;
+  padding-left: 4px;
+  padding-top: 2px;
+  padding-right: 4px;
+  padding-bottom: 2px;
+  z-index: 101;
+  transition: opacity 0.3s ease-in-out;
+  background-color: inherit;
+  opacity: 1;
+  transition-delay: 0s;
+  white-space: nowrap;
+}
diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts
index 214f48f..b9c17a5 100644
--- a/packages/application/src/shell.ts
+++ b/packages/application/src/shell.ts
@@ -2137,11 +2137,24 @@ namespace Private {
       const tip = document.createElement('div');
       tip.className = 'jp-title-ext';
 
-      const tipImg = document.createElement('div');
-      tipImg.className = 'jp-title-ext-tip-img';
-      tipImg.innerHTML = cloudIcon.svgstr;
-
-      tip.appendChild(tipImg);
+      const titleExtElement = document.getElementById(
+        'jp-title-panel-title-ext'
+      );
+      if (titleExtElement != null) {
+        const titleAttr = titleExtElement.title;
+        const tipImg = document.createElement('div');
+        tipImg.className = 'jp-title-ext-tip-img';
+        tipImg.innerHTML = cloudIcon.svgstr;
+
+        if (titleAttr != null) {
+          const saveTip = document.createElement('span');
+          saveTip.className = 'jp-title-ext-tip';
+          saveTip.innerText = titleAttr.split('\n')[2];
+
+          tip.appendChild(tipImg);
+          tip.appendChild(saveTip);
+        }
+      }
 
       this.node.appendChild(tip);
       this.tip = tip;
diff --git a/packages/application/style/core.css b/packages/application/style/core.css
index 59296f6..0699de3 100644
--- a/packages/application/style/core.css
+++ b/packages/application/style/core.css
@@ -69,7 +69,7 @@ body {
   padding-left: calc(
     var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
   );
-  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
+  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
 
   /* Adjust min-height so open menus show up in the right place */
   min-height: calc(
diff --git a/packages/cell-toolbar/src/celltoolbartracker.ts b/packages/cell-toolbar/src/celltoolbartracker.ts
index 18b29b1..9806f20 100644
--- a/packages/cell-toolbar/src/celltoolbartracker.ts
+++ b/packages/cell-toolbar/src/celltoolbartracker.ts
@@ -337,6 +337,10 @@ const defaultToolbarItems: ToolbarRegistry.IWidget[] = [
     command: 'notebook:run-cell',
     name: 'run-cell'
   },
+  {
+    command: 'notebook:interrupt-kernel',
+    name: 'interrupt'
+  },
   {
     command: 'notebook:duplicate-below',
     name: 'duplicate-cell'
diff --git a/packages/collaboration/src/menu.ts b/packages/collaboration/src/menu.ts
index 8f19f19..e5930d3 100644
--- a/packages/collaboration/src/menu.ts
+++ b/packages/collaboration/src/menu.ts
@@ -114,7 +114,7 @@ export class RendererUserMenu extends MenuBar.Renderer {
     return h.div(
       {
         className:
-          'lm-MenuBar-itemIcon p-MenuBar-itemIcon jp-MenuBar-CommonLabel',
+          'lm-MenuBar-itemIcon p-MenuBar-itemIcon jp-MenuBar-CommonLabel-Active',
         onclick: async event => {
           let results: { token: string }[];
           const isRunningUnderJupyterhub =
@@ -237,7 +237,7 @@ export class RendererUserMenu extends MenuBar.Renderer {
           }
         }
       },
-      'Preview'
+      'Publish'
     );
   }
 }
diff --git a/packages/collaboration/style/menu.css b/packages/collaboration/style/menu.css
index 66d2504..841a508 100644
--- a/packages/collaboration/style/menu.css
+++ b/packages/collaboration/style/menu.css
@@ -19,7 +19,7 @@
   width: 28px;
   height: 28px;
   text-align: center;
-  border-radius: 4px;
+  border-radius: 50%;
   margin: 0 16px;
 }
 
@@ -32,6 +32,15 @@
   margin: 0 4px;
 }
 
+.jp-MenuBar-CommonLabel-Active {
+  height: 28px;
+  width: 70px;
+  text-align: center;
+  border-radius: 2px;
+  border: 1px solid var(--jp-brand-color1);
+  margin: 0 4px;
+}
+
 .jp-MenuBar-imageIcon img {
   width: 28px;
   border-radius: 100%;
diff --git a/packages/completer/src/widget.ts b/packages/completer/src/widget.ts
index 21fd8f4..25f777b 100644
--- a/packages/completer/src/widget.ts
+++ b/packages/completer/src/widget.ts
@@ -4,7 +4,7 @@
 import { defaultSanitizer } from '@jupyterlab/apputils';
 import { CodeEditor } from '@jupyterlab/codeeditor';
 import { renderText } from '@jupyterlab/rendermime';
-import { HoverBox, LabIcon } from '@jupyterlab/ui-components';
+import { codeCheckIcon, HoverBox, LabIcon } from '@jupyterlab/ui-components';
 import { IIterator, IterableOrArrayLike, toArray } from '@lumino/algorithm';
 import { JSONExt, JSONObject } from '@lumino/coreutils';
 import { IDisposable } from '@lumino/disposable';
@@ -324,6 +324,17 @@ export class Completer extends Widget {
       ul.appendChild(li);
     }
     node.appendChild(ul);
+
+    // Add elixir-lsp logo & tip
+    let logoDiv = document.createElement('div');
+    logoDiv.className = 'jp-Completer-footer';
+    logoDiv.innerHTML = codeCheckIcon.svgstr;
+    let logoTip = document.createElement('span');
+    logoTip.innerText = 'Powered by ElixirLsp';
+    logoTip.className = 'jp-Completer-footer-tip';
+    logoDiv.appendChild(logoTip);
+    node.appendChild(logoDiv);
+
     return node;
   }
 
diff --git a/packages/completer/style/base.css b/packages/completer/style/base.css
index 2bac9a6..60a5945 100644
--- a/packages/completer/style/base.css
+++ b/packages/completer/style/base.css
@@ -15,6 +15,7 @@
   box-shadow: var(--jp-elevation-z6);
   background: var(--jp-layout-color1);
   color: var(--jp-content-font-color1);
+
   /*border: var(--jp-border-width) solid var(--jp-border-color1);*/
   padding: 4px;
   display: flex;
@@ -41,8 +42,20 @@
   white-space: pre-wrap;
 }
 
+.jp-Completer-footer {
+  position: absolute;
+  bottom: 4px;
+  padding-left: 12px;
+}
+
+.jp-Completer-footer-tip {
+  color: #bcbcbc;
+  font-size: 10px;
+  margin-left: 4px;
+}
+
 .jp-Completer-list {
-  margin: 0;
+  margin: 0 0 24px;
   padding: 0;
   list-style-type: none;
   overflow-y: scroll;
@@ -127,8 +140,10 @@
 }
 
 .jp-Completer-item.jp-mod-active {
-  background: var(--jp-brand-color1);
-  color: white;
+  color: var(--jp-brand-color1);
+  font-weight: bold;
+
+  /*color: white;*/
 }
 
 .jp-Completer-item .jp-Completer-match mark {
@@ -142,43 +157,43 @@
 }
 
 .jp-Completer-type[data-color-index='1'] {
-  background: #1f77b4;
+  color: #1f77b4;
 }
 
 .jp-Completer-type[data-color-index='2'] {
-  background: #ff7f0e;
+  color: #ff7f0e;
 }
 
 .jp-Completer-type[data-color-index='3'] {
-  background: #2ca02c;
+  color: #2ca02c;
 }
 
 .jp-Completer-type[data-color-index='4'] {
-  background: #d62728;
+  color: #d62728;
 }
 
 .jp-Completer-type[data-color-index='5'] {
-  background: #9467bd;
+  color: #9467bd;
 }
 
 .jp-Completer-type[data-color-index='6'] {
-  background: #8c564b;
+  color: #8c564b;
 }
 
 .jp-Completer-type[data-color-index='7'] {
-  background: #e377c2;
+  color: #e377c2;
 }
 
 .jp-Completer-type[data-color-index='8'] {
-  background: #7f7f7f;
+  color: #7f7f7f;
 }
 
 .jp-Completer-type[data-color-index='9'] {
-  background: #bcbd22;
+  color: #bcbd22;
 }
 
 .jp-Completer-type[data-color-index='10'] {
-  background: #17becf;
+  color: #17becf;
 }
 
 .jp-Completer-loading-bar-container {
diff --git a/packages/extensionmanager/style/base.css b/packages/extensionmanager/style/base.css
index 27e2cbd..65ae9bd 100644
--- a/packages/extensionmanager/style/base.css
+++ b/packages/extensionmanager/style/base.css
@@ -37,7 +37,6 @@
 .jp-extensionmanager-listview-wrapper {
   margin: 0;
   padding: 0;
-  padding-bottom: 8px;
   display: flex;
   flex-direction: column;
   flex: 0 0 auto;
@@ -59,7 +58,6 @@
   justify-content: space-between;
   flex: 0 0 auto;
   margin: 0;
-  padding-bottom: 8px;
   font-weight: 600;
   text-transform: uppercase;
   border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
@@ -321,14 +319,14 @@
 .jp-extensionmanager-disclaimer-disable {
   background-color: var(--jp-brand-color1) !important;
   color: white !important;
-  border: 0;
+  border: 2px;
   background-image: none !important;
 }
 
 .jp-extensionmanager-disclaimer-enable {
-  background-color: var(--jp-error-color1) !important;
+  background-color: var(--jp-brand-color1) !important;
   color: white !important;
-  border: 0;
+  border: 2px;
   background-image: none !important;
 }
 
diff --git a/packages/filebrowser/style/base.css b/packages/filebrowser/style/base.css
index 469db34..c7c2773 100644
--- a/packages/filebrowser/style/base.css
+++ b/packages/filebrowser/style/base.css
@@ -70,6 +70,7 @@
   flex: 0 0 auto;
   padding-left: 0;
   padding-right: 2px;
+  height: var(--jp-private-filebrowser-button-height);
 }
 
 .jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
diff --git a/packages/logconsole-extension/style/base.css b/packages/logconsole-extension/style/base.css
index 1faaab8..9c45c92 100644
--- a/packages/logconsole-extension/style/base.css
+++ b/packages/logconsole-extension/style/base.css
@@ -60,6 +60,8 @@
 }
 
 /* Copied from the notebook cell type dropdown styling */
-.jp-LogConsole-toolbarLogLevelDropdown span {
-  top: 5px !important;
+.jp-LogConsole-toolbarLogLevelDropdown span svg {
+  display: flex;
+  align-items: center;
+  padding: 8px;
 }
diff --git a/packages/notebook-extension/schema/panel.json b/packages/notebook-extension/schema/panel.json
index 722b5ee..e8cec4d 100644
--- a/packages/notebook-extension/schema/panel.json
+++ b/packages/notebook-extension/schema/panel.json
@@ -3,17 +3,10 @@
   "description": "Notebook Panel settings.",
   "jupyter.lab.toolbars": {
     "Notebook": [
-      {
-        "name": "insert",
-        "command": "notebook:insert-cell-below",
-        "icon": "ui-components:add",
-        "rank": 20
-      },
+      { "name": "executionProgress", "rank": 22 },
       { "name": "spacer", "type": "spacer", "rank": 100 },
-      { "name": "cellType", "rank": 200 },
-      { "name": "kernelName", "rank": 1000 },
-      { "name": "kernelStatus", "rank": 1001 },
-      { "name": "executionProgress", "rank": 1002 }
+      { "name": "run", "command": "notebook:run-all-cells", "rank": 130 },
+      { "name": "restart", "command": "kernelmenu:restart", "rank": 132 }
     ]
   },
   "jupyter.lab.transform": true,
diff --git a/packages/notebook/style/base.css b/packages/notebook/style/base.css
index 900e129..4af0885 100644
--- a/packages/notebook/style/base.css
+++ b/packages/notebook/style/base.css
@@ -39,7 +39,7 @@
 }
 
 .jp-Notebook {
-  padding: 10px 100px;
+  padding: 10px 8% 10px 5%;
   outline: none;
   overflow: auto;
   background: var(--jp-layout-color0);
diff --git a/packages/notebook/style/executionindicator.css b/packages/notebook/style/executionindicator.css
index 888a5e8..3804c43 100644
--- a/packages/notebook/style/executionindicator.css
+++ b/packages/notebook/style/executionindicator.css
@@ -15,39 +15,73 @@
 
 .jp-Notebook-ExecutionIndicator {
   position: relative;
-  display: inline-block;
-  height: 100%;
+
+  /*height: 100%;*/
+  z-index: 9997;
+  width: 55vw;
+  display: flex;
+  border: var(--jp-border-width) solid #e0e0e0;
+  border-radius: 2px;
+  padding: 4px 16px;
+  align-items: center;
+}
+
+.jp-Notebook-ExecutionIndicator[data-status='unknown'] {
+  position: relative;
+
+  /*height: 100%;*/
   z-index: 9997;
+  width: 55vw;
+  display: flex;
+  border: var(--jp-border-width) solid #e0e0e0;
+  border-radius: 2px;
+  padding: 4px 16px;
+  align-items: center;
+}
+
+.jp-Notebook-ExecutionIndicator div {
+  display: flex;
+}
+
+.jp-Notebook-ExecutionIndicator[data-status='unknown'] div .jp-icon3 {
+  fill: var(--jp-brand-color0);
+}
+
+.jp-Notebook-ExecutionIndicator[data-status='idle'] svg circle {
+  stroke: var(--jp-success-color1);
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip {
-  visibility: hidden;
+  /*visibility: hidden;*/
   height: auto;
   width: fit-content;
   width: -moz-fit-content;
-  background-color: var(--jp-layout-color2);
+
+  /*background-color: var(--jp-layout-color2);*/
   color: var(--jp-ui-font-color1);
   text-align: justify;
-  border-radius: 6px;
+
+  /*border-radius: 6px;*/
   padding: 0 5px;
   position: fixed;
-  display: table;
+
+  /*display: table;*/
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip.up {
-  transform: translateX(-50%) translateY(-100%) translateY(-32px);
+  /*transform: translateX(-50%) translateY(-100%) translateY(-32px);*/
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip.down {
-  transform: translateX(calc(-100% + 16px)) translateY(5px);
+  /*transform: translateX(calc(-100% + 16px)) translateY(5px);*/
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip.hidden {
-  display: none;
+  /*display: none;*/
 }
 
 .jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
-  visibility: visible;
+  /*visibility: visible;*/
 }
 
 .jp-Notebook-ExecutionIndicator span {
@@ -56,6 +90,8 @@
   color: var(--jp-ui-font-color1);
   line-height: 24px;
   display: block;
+  padding-left: 16px;
+  float: right;
 }
 
 .jp-Notebook-ExecutionIndicator-progress-bar {
diff --git a/packages/notebook/style/toolbar.css b/packages/notebook/style/toolbar.css
index f82eb6a..aa4321a 100644
--- a/packages/notebook/style/toolbar.css
+++ b/packages/notebook/style/toolbar.css
@@ -9,7 +9,7 @@
 
 :root {
   --jp-notebook-toolbar-padding: 2px 5px 2px 2px;
-  --jp-private-toolbar-height: 44px;
+  --jp-private-toolbar-height: 54px;
 }
 
 /*-----------------------------------------------------------------------------
diff --git a/packages/outputarea/style/base.css b/packages/outputarea/style/base.css
index ec5ec54..4ff8c6f 100644
--- a/packages/outputarea/style/base.css
+++ b/packages/outputarea/style/base.css
@@ -23,7 +23,7 @@
 .jp-OutputPrompt {
   display: table-cell;
   vertical-align: top;
-  color: var(--jp-cell-outprompt-font-color);
+  color: var(--jp-success-color1);
   font-family: var(--jp-cell-prompt-font-family);
   padding: 4px 0;
   margin-bottom: var(--jp-code-padding);
diff --git a/packages/rendermime/style/base.css b/packages/rendermime/style/base.css
index ee75f35..3eac99c 100644
--- a/packages/rendermime/style/base.css
+++ b/packages/rendermime/style/base.css
@@ -393,10 +393,11 @@
 .jp-RenderedHTMLCommon pre,
 .jp-RenderedHTMLCommon code {
   border: 0;
-  background-color: var(--jp-layout-color0);
+
+  /*background-color: var(--jp-layout-color0);*/
   color: var(--jp-content-font-color1);
   font-family: var(--jp-code-font-family);
-  font-size: inherit;
+  font-size: 13px;
   line-height: var(--jp-code-line-height);
   padding: 0;
   white-space: pre-wrap;
diff --git a/packages/statusbar-extension/src/index.ts b/packages/statusbar-extension/src/index.ts
index 7e54577..d7731c7 100644
--- a/packages/statusbar-extension/src/index.ts
+++ b/packages/statusbar-extension/src/index.ts
@@ -35,7 +35,7 @@ const statusBar: JupyterFrontEndPlugin = {
     const trans = translator.load('jupyterlab');
     const statusBar = new StatusBar();
     statusBar.id = 'jp-main-statusbar';
-    app.shell.add(statusBar, 'bottom');
+    // app.shell.add(statusBar, 'bottom');
 
     // If available, connect to the shell's layout modified signal.
     if (labShell) {
diff --git a/packages/statusbar/src/style/statusbar.ts b/packages/statusbar/src/style/statusbar.ts
index 1743061..f6ca052 100644
--- a/packages/statusbar/src/style/statusbar.ts
+++ b/packages/statusbar/src/style/statusbar.ts
@@ -14,7 +14,7 @@ const itemPadding = {
 const interactiveHover = {
   $nest: {
     '&:hover': {
-      backgroundColor: vars.hoverColor
+      // backgroundColor: vars.hoverColor
     }
   }
 };
diff --git a/packages/ui-components/style/icons/lsp/code-check.svg b/packages/ui-components/style/icons/lsp/code-check.svg
index c469d86..6c2a514 100644
--- a/packages/ui-components/style/icons/lsp/code-check.svg
+++ b/packages/ui-components/style/icons/lsp/code-check.svg
@@ -1,5 +1,16 @@
-
+
diff --git a/docs/assets/elixir-ecosystem-v2.svg b/docs/assets/elixir-ecosystem-v2.svg
new file mode 100644
index 0000000..4dda97e
--- /dev/null
+++ b/docs/assets/elixir-ecosystem-v2.svg
@@ -0,0 +1,111 @@
+
+
diff --git a/docs/assets/elixir-ecosystem.svg b/docs/assets/elixir-ecosystem.svg
new file mode 100644
index 0000000..1c79e06
--- /dev/null
+++ b/docs/assets/elixir-ecosystem.svg
@@ -0,0 +1,122 @@
+
+
diff --git a/docs/assets/elixirnote-intro.svg b/docs/assets/elixirnote-intro.svg
new file mode 100644
index 0000000..0da304b
--- /dev/null
+++ b/docs/assets/elixirnote-intro.svg
@@ -0,0 +1,44 @@
+
+
diff --git a/docs/assets/elixirnote2.svg b/docs/assets/elixirnote2.svg
new file mode 100644
index 0000000..6edffce
--- /dev/null
+++ b/docs/assets/elixirnote2.svg
@@ -0,0 +1,10 @@
+
+
diff --git a/docs/assets/guinsoolab-badge.png b/docs/assets/guinsoolab-badge.png
new file mode 100644
index 0000000..4822269
Binary files /dev/null and b/docs/assets/guinsoolab-badge.png differ
diff --git a/docs/assets/overview-1.png b/docs/assets/overview-1.png
new file mode 100644
index 0000000..b5b461a
Binary files /dev/null and b/docs/assets/overview-1.png differ
diff --git a/docs/assets/overview-2.png b/docs/assets/overview-2.png
new file mode 100644
index 0000000..480a153
Binary files /dev/null and b/docs/assets/overview-2.png differ
diff --git a/docs/assets/overview-3.png b/docs/assets/overview-3.png
new file mode 100644
index 0000000..ee37864
Binary files /dev/null and b/docs/assets/overview-3.png differ
diff --git a/docs/assets/overview-4.png b/docs/assets/overview-4.png
new file mode 100644
index 0000000..212e9c1
Binary files /dev/null and b/docs/assets/overview-4.png differ
diff --git a/packages/application-extension/style/base.css b/packages/application-extension/style/base.css
index cd9117f..06541ea 100644
--- a/packages/application-extension/style/base.css
+++ b/packages/application-extension/style/base.css
@@ -24,3 +24,37 @@
   border: none;
   align-items: center;
 }
+
+.ͼ1 .cm-ySelectionCaretDot {
+  position: absolute;
+  top: -0.2em;
+  left: -0.2em;
+  width: 0;
+  height: 0;
+  background-color: inherit;
+  transition: transform 0.3s ease-in-out;
+  box-sizing: border-box;
+}
+
+.ͼ1 .cm-ySelectionInfo {
+  position: absolute;
+  top: -1.05em;
+  left: -1px;
+  font-size: 0.75em;
+  font-family: serif;
+  font-style: normal;
+  font-weight: normal;
+  line-height: normal;
+  user-select: none;
+  color: white;
+  padding-left: 4px;
+  padding-top: 2px;
+  padding-right: 4px;
+  padding-bottom: 2px;
+  z-index: 101;
+  transition: opacity 0.3s ease-in-out;
+  background-color: inherit;
+  opacity: 1;
+  transition-delay: 0s;
+  white-space: nowrap;
+}
diff --git a/packages/application/src/shell.ts b/packages/application/src/shell.ts
index 214f48f..b9c17a5 100644
--- a/packages/application/src/shell.ts
+++ b/packages/application/src/shell.ts
@@ -2137,11 +2137,24 @@ namespace Private {
       const tip = document.createElement('div');
       tip.className = 'jp-title-ext';
 
-      const tipImg = document.createElement('div');
-      tipImg.className = 'jp-title-ext-tip-img';
-      tipImg.innerHTML = cloudIcon.svgstr;
-
-      tip.appendChild(tipImg);
+      const titleExtElement = document.getElementById(
+        'jp-title-panel-title-ext'
+      );
+      if (titleExtElement != null) {
+        const titleAttr = titleExtElement.title;
+        const tipImg = document.createElement('div');
+        tipImg.className = 'jp-title-ext-tip-img';
+        tipImg.innerHTML = cloudIcon.svgstr;
+
+        if (titleAttr != null) {
+          const saveTip = document.createElement('span');
+          saveTip.className = 'jp-title-ext-tip';
+          saveTip.innerText = titleAttr.split('\n')[2];
+
+          tip.appendChild(tipImg);
+          tip.appendChild(saveTip);
+        }
+      }
 
       this.node.appendChild(tip);
       this.tip = tip;
diff --git a/packages/application/style/core.css b/packages/application/style/core.css
index 59296f6..0699de3 100644
--- a/packages/application/style/core.css
+++ b/packages/application/style/core.css
@@ -69,7 +69,7 @@ body {
   padding-left: calc(
     var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
   );
-  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
+  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
 
   /* Adjust min-height so open menus show up in the right place */
   min-height: calc(
diff --git a/packages/cell-toolbar/src/celltoolbartracker.ts b/packages/cell-toolbar/src/celltoolbartracker.ts
index 18b29b1..9806f20 100644
--- a/packages/cell-toolbar/src/celltoolbartracker.ts
+++ b/packages/cell-toolbar/src/celltoolbartracker.ts
@@ -337,6 +337,10 @@ const defaultToolbarItems: ToolbarRegistry.IWidget[] = [
     command: 'notebook:run-cell',
     name: 'run-cell'
   },
+  {
+    command: 'notebook:interrupt-kernel',
+    name: 'interrupt'
+  },
   {
     command: 'notebook:duplicate-below',
     name: 'duplicate-cell'
diff --git a/packages/collaboration/src/menu.ts b/packages/collaboration/src/menu.ts
index 8f19f19..e5930d3 100644
--- a/packages/collaboration/src/menu.ts
+++ b/packages/collaboration/src/menu.ts
@@ -114,7 +114,7 @@ export class RendererUserMenu extends MenuBar.Renderer {
     return h.div(
       {
         className:
-          'lm-MenuBar-itemIcon p-MenuBar-itemIcon jp-MenuBar-CommonLabel',
+          'lm-MenuBar-itemIcon p-MenuBar-itemIcon jp-MenuBar-CommonLabel-Active',
         onclick: async event => {
           let results: { token: string }[];
           const isRunningUnderJupyterhub =
@@ -237,7 +237,7 @@ export class RendererUserMenu extends MenuBar.Renderer {
           }
         }
       },
-      'Preview'
+      'Publish'
     );
   }
 }
diff --git a/packages/collaboration/style/menu.css b/packages/collaboration/style/menu.css
index 66d2504..841a508 100644
--- a/packages/collaboration/style/menu.css
+++ b/packages/collaboration/style/menu.css
@@ -19,7 +19,7 @@
   width: 28px;
   height: 28px;
   text-align: center;
-  border-radius: 4px;
+  border-radius: 50%;
   margin: 0 16px;
 }
 
@@ -32,6 +32,15 @@
   margin: 0 4px;
 }
 
+.jp-MenuBar-CommonLabel-Active {
+  height: 28px;
+  width: 70px;
+  text-align: center;
+  border-radius: 2px;
+  border: 1px solid var(--jp-brand-color1);
+  margin: 0 4px;
+}
+
 .jp-MenuBar-imageIcon img {
   width: 28px;
   border-radius: 100%;
diff --git a/packages/completer/src/widget.ts b/packages/completer/src/widget.ts
index 21fd8f4..25f777b 100644
--- a/packages/completer/src/widget.ts
+++ b/packages/completer/src/widget.ts
@@ -4,7 +4,7 @@
 import { defaultSanitizer } from '@jupyterlab/apputils';
 import { CodeEditor } from '@jupyterlab/codeeditor';
 import { renderText } from '@jupyterlab/rendermime';
-import { HoverBox, LabIcon } from '@jupyterlab/ui-components';
+import { codeCheckIcon, HoverBox, LabIcon } from '@jupyterlab/ui-components';
 import { IIterator, IterableOrArrayLike, toArray } from '@lumino/algorithm';
 import { JSONExt, JSONObject } from '@lumino/coreutils';
 import { IDisposable } from '@lumino/disposable';
@@ -324,6 +324,17 @@ export class Completer extends Widget {
       ul.appendChild(li);
     }
     node.appendChild(ul);
+
+    // Add elixir-lsp logo & tip
+    let logoDiv = document.createElement('div');
+    logoDiv.className = 'jp-Completer-footer';
+    logoDiv.innerHTML = codeCheckIcon.svgstr;
+    let logoTip = document.createElement('span');
+    logoTip.innerText = 'Powered by ElixirLsp';
+    logoTip.className = 'jp-Completer-footer-tip';
+    logoDiv.appendChild(logoTip);
+    node.appendChild(logoDiv);
+
     return node;
   }
 
diff --git a/packages/completer/style/base.css b/packages/completer/style/base.css
index 2bac9a6..60a5945 100644
--- a/packages/completer/style/base.css
+++ b/packages/completer/style/base.css
@@ -15,6 +15,7 @@
   box-shadow: var(--jp-elevation-z6);
   background: var(--jp-layout-color1);
   color: var(--jp-content-font-color1);
+
   /*border: var(--jp-border-width) solid var(--jp-border-color1);*/
   padding: 4px;
   display: flex;
@@ -41,8 +42,20 @@
   white-space: pre-wrap;
 }
 
+.jp-Completer-footer {
+  position: absolute;
+  bottom: 4px;
+  padding-left: 12px;
+}
+
+.jp-Completer-footer-tip {
+  color: #bcbcbc;
+  font-size: 10px;
+  margin-left: 4px;
+}
+
 .jp-Completer-list {
-  margin: 0;
+  margin: 0 0 24px;
   padding: 0;
   list-style-type: none;
   overflow-y: scroll;
@@ -127,8 +140,10 @@
 }
 
 .jp-Completer-item.jp-mod-active {
-  background: var(--jp-brand-color1);
-  color: white;
+  color: var(--jp-brand-color1);
+  font-weight: bold;
+
+  /*color: white;*/
 }
 
 .jp-Completer-item .jp-Completer-match mark {
@@ -142,43 +157,43 @@
 }
 
 .jp-Completer-type[data-color-index='1'] {
-  background: #1f77b4;
+  color: #1f77b4;
 }
 
 .jp-Completer-type[data-color-index='2'] {
-  background: #ff7f0e;
+  color: #ff7f0e;
 }
 
 .jp-Completer-type[data-color-index='3'] {
-  background: #2ca02c;
+  color: #2ca02c;
 }
 
 .jp-Completer-type[data-color-index='4'] {
-  background: #d62728;
+  color: #d62728;
 }
 
 .jp-Completer-type[data-color-index='5'] {
-  background: #9467bd;
+  color: #9467bd;
 }
 
 .jp-Completer-type[data-color-index='6'] {
-  background: #8c564b;
+  color: #8c564b;
 }
 
 .jp-Completer-type[data-color-index='7'] {
-  background: #e377c2;
+  color: #e377c2;
 }
 
 .jp-Completer-type[data-color-index='8'] {
-  background: #7f7f7f;
+  color: #7f7f7f;
 }
 
 .jp-Completer-type[data-color-index='9'] {
-  background: #bcbd22;
+  color: #bcbd22;
 }
 
 .jp-Completer-type[data-color-index='10'] {
-  background: #17becf;
+  color: #17becf;
 }
 
 .jp-Completer-loading-bar-container {
diff --git a/packages/extensionmanager/style/base.css b/packages/extensionmanager/style/base.css
index 27e2cbd..65ae9bd 100644
--- a/packages/extensionmanager/style/base.css
+++ b/packages/extensionmanager/style/base.css
@@ -37,7 +37,6 @@
 .jp-extensionmanager-listview-wrapper {
   margin: 0;
   padding: 0;
-  padding-bottom: 8px;
   display: flex;
   flex-direction: column;
   flex: 0 0 auto;
@@ -59,7 +58,6 @@
   justify-content: space-between;
   flex: 0 0 auto;
   margin: 0;
-  padding-bottom: 8px;
   font-weight: 600;
   text-transform: uppercase;
   border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
@@ -321,14 +319,14 @@
 .jp-extensionmanager-disclaimer-disable {
   background-color: var(--jp-brand-color1) !important;
   color: white !important;
-  border: 0;
+  border: 2px;
   background-image: none !important;
 }
 
 .jp-extensionmanager-disclaimer-enable {
-  background-color: var(--jp-error-color1) !important;
+  background-color: var(--jp-brand-color1) !important;
   color: white !important;
-  border: 0;
+  border: 2px;
   background-image: none !important;
 }
 
diff --git a/packages/filebrowser/style/base.css b/packages/filebrowser/style/base.css
index 469db34..c7c2773 100644
--- a/packages/filebrowser/style/base.css
+++ b/packages/filebrowser/style/base.css
@@ -70,6 +70,7 @@
   flex: 0 0 auto;
   padding-left: 0;
   padding-right: 2px;
+  height: var(--jp-private-filebrowser-button-height);
 }
 
 .jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
diff --git a/packages/logconsole-extension/style/base.css b/packages/logconsole-extension/style/base.css
index 1faaab8..9c45c92 100644
--- a/packages/logconsole-extension/style/base.css
+++ b/packages/logconsole-extension/style/base.css
@@ -60,6 +60,8 @@
 }
 
 /* Copied from the notebook cell type dropdown styling */
-.jp-LogConsole-toolbarLogLevelDropdown span {
-  top: 5px !important;
+.jp-LogConsole-toolbarLogLevelDropdown span svg {
+  display: flex;
+  align-items: center;
+  padding: 8px;
 }
diff --git a/packages/notebook-extension/schema/panel.json b/packages/notebook-extension/schema/panel.json
index 722b5ee..e8cec4d 100644
--- a/packages/notebook-extension/schema/panel.json
+++ b/packages/notebook-extension/schema/panel.json
@@ -3,17 +3,10 @@
   "description": "Notebook Panel settings.",
   "jupyter.lab.toolbars": {
     "Notebook": [
-      {
-        "name": "insert",
-        "command": "notebook:insert-cell-below",
-        "icon": "ui-components:add",
-        "rank": 20
-      },
+      { "name": "executionProgress", "rank": 22 },
       { "name": "spacer", "type": "spacer", "rank": 100 },
-      { "name": "cellType", "rank": 200 },
-      { "name": "kernelName", "rank": 1000 },
-      { "name": "kernelStatus", "rank": 1001 },
-      { "name": "executionProgress", "rank": 1002 }
+      { "name": "run", "command": "notebook:run-all-cells", "rank": 130 },
+      { "name": "restart", "command": "kernelmenu:restart", "rank": 132 }
     ]
   },
   "jupyter.lab.transform": true,
diff --git a/packages/notebook/style/base.css b/packages/notebook/style/base.css
index 900e129..4af0885 100644
--- a/packages/notebook/style/base.css
+++ b/packages/notebook/style/base.css
@@ -39,7 +39,7 @@
 }
 
 .jp-Notebook {
-  padding: 10px 100px;
+  padding: 10px 8% 10px 5%;
   outline: none;
   overflow: auto;
   background: var(--jp-layout-color0);
diff --git a/packages/notebook/style/executionindicator.css b/packages/notebook/style/executionindicator.css
index 888a5e8..3804c43 100644
--- a/packages/notebook/style/executionindicator.css
+++ b/packages/notebook/style/executionindicator.css
@@ -15,39 +15,73 @@
 
 .jp-Notebook-ExecutionIndicator {
   position: relative;
-  display: inline-block;
-  height: 100%;
+
+  /*height: 100%;*/
+  z-index: 9997;
+  width: 55vw;
+  display: flex;
+  border: var(--jp-border-width) solid #e0e0e0;
+  border-radius: 2px;
+  padding: 4px 16px;
+  align-items: center;
+}
+
+.jp-Notebook-ExecutionIndicator[data-status='unknown'] {
+  position: relative;
+
+  /*height: 100%;*/
   z-index: 9997;
+  width: 55vw;
+  display: flex;
+  border: var(--jp-border-width) solid #e0e0e0;
+  border-radius: 2px;
+  padding: 4px 16px;
+  align-items: center;
+}
+
+.jp-Notebook-ExecutionIndicator div {
+  display: flex;
+}
+
+.jp-Notebook-ExecutionIndicator[data-status='unknown'] div .jp-icon3 {
+  fill: var(--jp-brand-color0);
+}
+
+.jp-Notebook-ExecutionIndicator[data-status='idle'] svg circle {
+  stroke: var(--jp-success-color1);
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip {
-  visibility: hidden;
+  /*visibility: hidden;*/
   height: auto;
   width: fit-content;
   width: -moz-fit-content;
-  background-color: var(--jp-layout-color2);
+
+  /*background-color: var(--jp-layout-color2);*/
   color: var(--jp-ui-font-color1);
   text-align: justify;
-  border-radius: 6px;
+
+  /*border-radius: 6px;*/
   padding: 0 5px;
   position: fixed;
-  display: table;
+
+  /*display: table;*/
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip.up {
-  transform: translateX(-50%) translateY(-100%) translateY(-32px);
+  /*transform: translateX(-50%) translateY(-100%) translateY(-32px);*/
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip.down {
-  transform: translateX(calc(-100% + 16px)) translateY(5px);
+  /*transform: translateX(calc(-100% + 16px)) translateY(5px);*/
 }
 
 .jp-Notebook-ExecutionIndicator-tooltip.hidden {
-  display: none;
+  /*display: none;*/
 }
 
 .jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
-  visibility: visible;
+  /*visibility: visible;*/
 }
 
 .jp-Notebook-ExecutionIndicator span {
@@ -56,6 +90,8 @@
   color: var(--jp-ui-font-color1);
   line-height: 24px;
   display: block;
+  padding-left: 16px;
+  float: right;
 }
 
 .jp-Notebook-ExecutionIndicator-progress-bar {
diff --git a/packages/notebook/style/toolbar.css b/packages/notebook/style/toolbar.css
index f82eb6a..aa4321a 100644
--- a/packages/notebook/style/toolbar.css
+++ b/packages/notebook/style/toolbar.css
@@ -9,7 +9,7 @@
 
 :root {
   --jp-notebook-toolbar-padding: 2px 5px 2px 2px;
-  --jp-private-toolbar-height: 44px;
+  --jp-private-toolbar-height: 54px;
 }
 
 /*-----------------------------------------------------------------------------
diff --git a/packages/outputarea/style/base.css b/packages/outputarea/style/base.css
index ec5ec54..4ff8c6f 100644
--- a/packages/outputarea/style/base.css
+++ b/packages/outputarea/style/base.css
@@ -23,7 +23,7 @@
 .jp-OutputPrompt {
   display: table-cell;
   vertical-align: top;
-  color: var(--jp-cell-outprompt-font-color);
+  color: var(--jp-success-color1);
   font-family: var(--jp-cell-prompt-font-family);
   padding: 4px 0;
   margin-bottom: var(--jp-code-padding);
diff --git a/packages/rendermime/style/base.css b/packages/rendermime/style/base.css
index ee75f35..3eac99c 100644
--- a/packages/rendermime/style/base.css
+++ b/packages/rendermime/style/base.css
@@ -393,10 +393,11 @@
 .jp-RenderedHTMLCommon pre,
 .jp-RenderedHTMLCommon code {
   border: 0;
-  background-color: var(--jp-layout-color0);
+
+  /*background-color: var(--jp-layout-color0);*/
   color: var(--jp-content-font-color1);
   font-family: var(--jp-code-font-family);
-  font-size: inherit;
+  font-size: 13px;
   line-height: var(--jp-code-line-height);
   padding: 0;
   white-space: pre-wrap;
diff --git a/packages/statusbar-extension/src/index.ts b/packages/statusbar-extension/src/index.ts
index 7e54577..d7731c7 100644
--- a/packages/statusbar-extension/src/index.ts
+++ b/packages/statusbar-extension/src/index.ts
@@ -35,7 +35,7 @@ const statusBar: JupyterFrontEndPlugin = {
     const trans = translator.load('jupyterlab');
     const statusBar = new StatusBar();
     statusBar.id = 'jp-main-statusbar';
-    app.shell.add(statusBar, 'bottom');
+    // app.shell.add(statusBar, 'bottom');
 
     // If available, connect to the shell's layout modified signal.
     if (labShell) {
diff --git a/packages/statusbar/src/style/statusbar.ts b/packages/statusbar/src/style/statusbar.ts
index 1743061..f6ca052 100644
--- a/packages/statusbar/src/style/statusbar.ts
+++ b/packages/statusbar/src/style/statusbar.ts
@@ -14,7 +14,7 @@ const itemPadding = {
 const interactiveHover = {
   $nest: {
     '&:hover': {
-      backgroundColor: vars.hoverColor
+      // backgroundColor: vars.hoverColor
     }
   }
 };
diff --git a/packages/ui-components/style/icons/lsp/code-check.svg b/packages/ui-components/style/icons/lsp/code-check.svg
index c469d86..6c2a514 100644
--- a/packages/ui-components/style/icons/lsp/code-check.svg
+++ b/packages/ui-components/style/icons/lsp/code-check.svg
@@ -1,5 +1,16 @@
-