diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index df631d43e..e9d828c3e 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -1105,7 +1105,7 @@
       "Placeholder text in the message entry field when it is disabled while we are waiting for a friend request approval"
   },
   "sendMessageFriendRequest": {
-    "message": "Hi there! This is ...!",
+    "message": "Send your first message",
     "description":
       "Placeholder text in the message entry field when it is the first message sent to that contact"
   },
@@ -1437,7 +1437,7 @@
     "description": "Header for notification settings"
   },
   "readReceiptSettingDescription": {
-    "message": "Enable the sending and receiving of read receipts",
+    "message": "See and share when messages have been read (enables read receipts in all sessions).",
     "description": "Description of the read receipts setting"
   },
   "readReceiptSettingTitle": {
@@ -2605,6 +2605,9 @@
     "message": "Complete Sign Up"
   },
   "compose": {
+    "message": "Compose"
+  },
+  "newSession": {
     "message": "New Session"
   },
   "searchForAKeyPhrase": {
@@ -2650,11 +2653,11 @@
   "decline": {
     "message": "Decline"
   },
-  "generalSettingsTitle": {
-    "message": "General"
+  "appearanceSettingsTitle": {
+    "message": "Appearance"
   },
-  "generalSettingsDescription": {
-    "message": "General settings and configuration"
+  "appearanceSettingsDescription": {
+    "message": "Appearance and interface options"
   },
   "accountSettingsTitle": {
     "message": "Account"
@@ -2678,13 +2681,13 @@
     "message": "Notifications"
   },
   "notificationSettingsDescription": {
-    "message": "Choose what you're notified about"
+    "message": "Configure notification options"
   },
   "devicesSettingsTitle": {
     "message": "Devices"
   },
   "devicesSettingsDescription": {
-    "message": "Manage linked devices"
+    "message": "Manage your linked devices"
   },
   "mnemonicEmpty": {
     "message": "Seed is mandatory"
@@ -2713,11 +2716,26 @@
   "addChannel": {
     "message": "Join Open Group"
   },
+  "joinOpenGroup": {
+    "message": "Join Open Group"
+  },
+  "createClosedGroup": {
+    "message": "Create Closed Group"
+  },
+  "createClosedGroupDescription": {
+    "message": "Closed groups are end-to-end encrypted group chats for up to 10 members. They provide the same privacy protections as one-on-one sessions."
+  },
+  "createClosedGroupNamePrompt": {
+    "message": "Group Name"
+  },
+  "createClosedGroupPlaceholder": {
+    "message": "Enter a group name"
+  },
   "enterChannelURL": {
     "message": "Enter Open Group URL"
   },
   "channelUrlPlaceholder": {
-    "message": "https://chat.lokinet.org"
+    "message": "chat.getsession.org"
   },
   "addChannelDescription": {
     "message": "Enter an open group URL."
diff --git a/app/sql.js b/app/sql.js
index f84ac2373..e9cb2390c 100644
--- a/app/sql.js
+++ b/app/sql.js
@@ -902,7 +902,7 @@ async function updateToLokiSchemaVersion1(currentVersion, instance) {
     rssFeed: 'https://loki.network/feed/',
     closable: true,
     name: 'Loki.network News',
-    profileAvatar: 'images/loki/session_icon.png',
+    profileAvatar: 'images/session/session_chat_icon.png',
   };
 
   const updatesRssFeedData = {
@@ -911,7 +911,7 @@ async function updateToLokiSchemaVersion1(currentVersion, instance) {
     rssFeed: 'https://loki.network/category/messenger-updates/feed/',
     closable: false,
     name: 'Messenger updates',
-    profileAvatar: 'images/loki/session_icon.png',
+    profileAvatar: 'images/session/session_chat_icon.png',
   };
 
   const autoJoinLokiChats = false;
diff --git a/config/default.json b/config/default.json
index e6cea713a..11a85bea9 100644
--- a/config/default.json
+++ b/config/default.json
@@ -35,6 +35,6 @@
     "-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIJAIm6LatK5PNiMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYD\nVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5j\naXNjbzEdMBsGA1UECgwUT3BlbiBXaGlzcGVyIFN5c3RlbXMxHTAbBgNVBAsMFE9w\nZW4gV2hpc3BlciBTeXN0ZW1zMRMwEQYDVQQDDApUZXh0U2VjdXJlMB4XDTEzMDMy\nNTIyMTgzNVoXDTIzMDMyMzIyMTgzNVowgY0xCzAJBgNVBAYTAlVTMRMwEQYDVQQI\nDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMR0wGwYDVQQKDBRP\ncGVuIFdoaXNwZXIgU3lzdGVtczEdMBsGA1UECwwUT3BlbiBXaGlzcGVyIFN5c3Rl\nbXMxEzARBgNVBAMMClRleHRTZWN1cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw\nggEKAoIBAQDBSWBpOCBDF0i4q2d4jAXkSXUGpbeWugVPQCjaL6qD9QDOxeW1afvf\nPo863i6Crq1KDxHpB36EwzVcjwLkFTIMeo7t9s1FQolAt3mErV2U0vie6Ves+yj6\ngrSfxwIDAcdsKmI0a1SQCZlr3Q1tcHAkAKFRxYNawADyps5B+Zmqcgf653TXS5/0\nIPPQLocLn8GWLwOYNnYfBvILKDMItmZTtEbucdigxEA9mfIvvHADEbteLtVgwBm9\nR5vVvtwrD6CCxI3pgH7EH7kMP0Od93wLisvn1yhHY7FuYlrkYqdkMvWUrKoASVw4\njb69vaeJCUdU+HCoXOSP1PQcL6WenNCHAgMBAAGjUDBOMB0GA1UdDgQWBBQBixjx\nP/s5GURuhYa+lGUypzI8kDAfBgNVHSMEGDAWgBQBixjxP/s5GURuhYa+lGUypzI8\nkDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQB+Hr4hC56m0LvJAu1R\nK6NuPDbTMEN7/jMojFHxH4P3XPFfupjR+bkDq0pPOU6JjIxnrD1XD/EVmTTaTVY5\niOheyv7UzJOefb2pLOc9qsuvI4fnaESh9bhzln+LXxtCrRPGhkxA1IMIo3J/s2WF\n/KVYZyciu6b4ubJ91XPAuBNZwImug7/srWvbpk0hq6A6z140WTVSKtJG7EP41kJe\n/oF4usY5J7LPkxK3LWzMJnb5EIJDmRvyH8pyRwWg6Qm6qiGFaI4nL8QU4La1x2en\n4DGXRaLMPRwjELNgQPodR38zoCMuA8gHZfZYYoZ7D7Q1wNUiVHcxuFrEeBaYJbLE\nrwLV\n-----END CERTIFICATE-----\n",
   "import": false,
   "serverTrustRoot": "BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx",
-  "defaultPublicChatServer": "https://chat.lokinet.org/",
+  "defaultPublicChatServer": "https://chat.getsession.org",
   "defaultFileServer": "https://file.lokinet.org"
 }
diff --git a/images/session/session_chat_icon.png b/images/session/session_chat_icon.png
new file mode 100644
index 000000000..cb4072089
Binary files /dev/null and b/images/session/session_chat_icon.png differ
diff --git a/js/background.js b/js/background.js
index 377494dba..4d5889adb 100644
--- a/js/background.js
+++ b/js/background.js
@@ -121,7 +121,6 @@
     'x.svg',
     'x_white.svg',
     'icon-paste.svg',
-    'loki/loki_icon_text.png',
     'loki/session_icon_128.png',
   ]);
 
@@ -988,6 +987,19 @@
       return toastID;
     };
 
+
+    window.getFriendsFromContacts = contacts => {
+      // To call from TypeScript, input / output are both
+      // of type Array<ConversationType>
+      let friendList = contacts;
+      if (friendList !== undefined) {
+        friendList = friendList.filter(
+          friend => friend.type === 'direct' && !friend.isMe
+        );
+      }
+      return friendList;
+    }
+
     // Get memberlist. This function is not accurate >>
     // window.getMemberList = window.lokiPublicChatAPI.getListOfMembers();
 
diff --git a/stylesheets/_session.scss b/stylesheets/_session.scss
index d78b9a84b..1dc7e0a32 100644
--- a/stylesheets/_session.scss
+++ b/stylesheets/_session.scss
@@ -347,7 +347,7 @@ $session_message-container-border-radius: 5px;
     min-width: 165px;
     height: 45px;
     line-height: 40px;
-    padding: 0;
+    padding: 0px $session-margin-lg;
     font-size: $session-font-md;
     font-family: $session-font-family;
     border-radius: 500px;
@@ -553,6 +553,11 @@ label {
   position: relative;
 }
 
+.module-left-pane-overlay {
+  h3 {
+    margin-bottom: 6px;
+  }
+}
 .message-selection-overlay {
   display: none;
   position: absolute;
@@ -1380,6 +1385,7 @@ input {
   background-color: $session-shade-4;
   border: $session-separator-element-border;
   display: flex;
+  align-items: center;
   transition: $session-transition-duration;
 
   .module-avatar,
diff --git a/stylesheets/_session_left_pane.scss b/stylesheets/_session_left_pane.scss
index fa593b10b..04fed7709 100644
--- a/stylesheets/_session_left_pane.scss
+++ b/stylesheets/_session_left_pane.scss
@@ -292,7 +292,8 @@ $session-compose-margin: 20px;
     }
 
     .session-description-long {
-      font-size: 14px;
+      font-size: $session-font-sm;
+      line-height: $session-font-h3;
       margin: 0px 20px;
     }
 
diff --git a/ts/components/LeftPane.tsx b/ts/components/LeftPane.tsx
index babd60a8e..7313c48ac 100644
--- a/ts/components/LeftPane.tsx
+++ b/ts/components/LeftPane.tsx
@@ -177,6 +177,7 @@ export class LeftPane extends React.Component<Props, State> {
 
   private renderChannelSection() {
     const {
+      friends,
       openConversationInternal,
       conversations,
       searchResults,
@@ -189,6 +190,7 @@ export class LeftPane extends React.Component<Props, State> {
 
     return (
       <LeftPaneChannelSection
+        friends={friends}
         openConversationInternal={openConversationInternal}
         conversations={conversations}
         searchResults={searchResults}
diff --git a/ts/components/conversation/GroupInvitation.tsx b/ts/components/conversation/GroupInvitation.tsx
index 5c89d7e0e..1195aabaa 100644
--- a/ts/components/conversation/GroupInvitation.tsx
+++ b/ts/components/conversation/GroupInvitation.tsx
@@ -23,7 +23,7 @@ export class GroupInvitation extends React.Component<Props> {
           <div className="contents">
             <img
               alt="group-avatar"
-              src="images/loki/session_icon.png"
+              src="images/session/session_chat_icon.png"
               className="invite-group-avatar"
             />
             <span className="group-details">
diff --git a/ts/components/session/LeftPaneChannelSection.tsx b/ts/components/session/LeftPaneChannelSection.tsx
index 7130d7e7f..62bbb133c 100644
--- a/ts/components/session/LeftPaneChannelSection.tsx
+++ b/ts/components/session/LeftPaneChannelSection.tsx
@@ -19,14 +19,16 @@ import {
 import { SearchOptions } from '../../types/Search';
 import { debounce } from 'lodash';
 import { cleanSearchTerm } from '../../util/cleanSearchTerm';
+import { ConversationType } from '../../state/ducks/conversations';
 import { SessionSearchInput } from './SessionSearchInput';
 import { SessionClosableOverlay } from './SessionClosableOverlay';
 import { MainViewController } from '../MainViewController';
 
 export interface Props {
+  friends: Array<ConversationType>;
   searchTerm: string;
   isSecondaryDevice: boolean;
-
+  
   conversations?: Array<ConversationListItemPropsType>;
 
   searchResults?: SearchResultsProps;
@@ -37,11 +39,17 @@ export interface Props {
   clearSearch: () => void;
 }
 
+export enum SessionGroupType {
+  Open = 'open-group',
+  Closed = 'closed-group',
+}
+
 interface State {
-  showAddChannelView: boolean;
   channelUrlPasted: string;
   loading: boolean;
   connectSuccess: boolean;
+  // The type of group that is being added. Undefined in default view.
+  groupAddType: SessionGroupType | undefined;
 }
 
 export class LeftPaneChannelSection extends React.Component<Props, State> {
@@ -51,10 +59,10 @@ export class LeftPaneChannelSection extends React.Component<Props, State> {
   public constructor(props: Props) {
     super(props);
     this.state = {
-      showAddChannelView: false,
       channelUrlPasted: '',
       loading: false,
       connectSuccess: false,
+      groupAddType: undefined,
     };
 
     this.handleOnPasteUrl = this.handleOnPasteUrl.bind(this);
@@ -178,12 +186,14 @@ export class LeftPaneChannelSection extends React.Component<Props, State> {
   }
 
   public render(): JSX.Element {
+
     return (
       <div className="session-left-pane-section-content">
         {this.renderHeader()}
-        {this.state.showAddChannelView
-          ? this.renderClosableOverlay()
-          : this.renderGroups()}
+        {this.state.groupAddType
+          ? this.renderClosableOverlay(this.state.groupAddType)
+          : this.renderGroups()
+        }
       </div>
     );
   }
@@ -247,32 +257,68 @@ export class LeftPaneChannelSection extends React.Component<Props, State> {
     }
   }
 
-  private handleToggleOverlay() {
-    this.setState(prevState => ({
-      showAddChannelView: !prevState.showAddChannelView,
-    }));
+  private handleToggleOverlay(groupType?: SessionGroupType) {
+    // If no groupType, return to default view.
+    // Close the overlay with handleToggleOverlay(undefined)
+
+    switch (groupType) {
+      case SessionGroupType.Open:
+        this.setState({
+          groupAddType: SessionGroupType.Open,
+        });
+        break;
+      case SessionGroupType.Closed:
+        this.setState({
+          groupAddType: SessionGroupType.Closed,
+        });
+        break;
+      default:
+        // Exit overlay
+        this.setState({
+          groupAddType: undefined,
+        });
+        break;
+    }
   }
 
-  private renderClosableOverlay() {
-    const { searchTerm } = this.props;
+  private renderClosableOverlay(groupType: SessionGroupType) {
+    const { searchTerm, friends } = this.props;
     const { loading } = this.state;
 
-    return (
+    const openGroupElement = (
       <SessionClosableOverlay
-        overlayMode="channel"
+        overlayMode={SessionGroupType.Open}
         onChangeSessionID={this.handleOnPasteUrl}
-        onCloseClick={this.handleToggleOverlay}
+        onCloseClick={() => this.handleToggleOverlay(undefined)}
         onButtonClick={this.handleJoinChannelButtonClick}
         searchTerm={searchTerm}
         updateSearch={this.updateSearchBound}
         showSpinner={loading}
       />
     );
+
+    const closedGroupElement = (
+      <SessionClosableOverlay
+        friends={friends}
+        overlayMode={SessionGroupType.Closed}
+        onChangeSessionID={this.handleOnPasteUrl}
+        onCloseClick={() => this.handleToggleOverlay(undefined)}
+        onButtonClick={this.handleCreateClosedGroupButtonClick}
+        searchTerm={searchTerm}
+        updateSearch={this.updateSearchBound}
+        showSpinner={loading}
+      />
+    );
+    
+    const renderElement = groupType === SessionGroupType.Open ? openGroupElement : closedGroupElement;
+    
+    return renderElement;
   }
 
   private renderBottomButtons(): JSX.Element {
     const edit = window.i18n('edit');
-    const addChannel = window.i18n('addChannel');
+    const joinOpenGroup = window.i18n('joinOpenGroup');
+    const createClosedGroup = window.i18n('createClosedGroup');
     const showEditButton = false;
 
     return (
@@ -284,11 +330,18 @@ export class LeftPaneChannelSection extends React.Component<Props, State> {
             buttonColor={SessionButtonColor.White}
           />
         )}
+
         <SessionButton
-          text={addChannel}
+          text={joinOpenGroup}
           buttonType={SessionButtonType.SquareOutline}
           buttonColor={SessionButtonColor.Green}
-          onClick={this.handleToggleOverlay}
+          onClick={() => this.handleToggleOverlay(SessionGroupType.Open)}
+        />
+        <SessionButton
+          text={createClosedGroup}
+          buttonType={SessionButtonType.SquareOutline}
+          buttonColor={SessionButtonColor.White}
+          onClick={() => this.handleToggleOverlay(SessionGroupType.Closed)}
         />
       </div>
     );
@@ -327,8 +380,14 @@ export class LeftPaneChannelSection extends React.Component<Props, State> {
       return false;
     }
 
-    joinChannelStateManager(this, channelUrlPasted, this.handleToggleOverlay);
+    joinChannelStateManager(this, channelUrlPasted, this.handleToggleOverlay(SessionGroupType.Open));
+
+    return true;
+  }
 
+  private handleCreateClosedGroupButtonClick() {
+    alert("creating closed group!");
+    
     return true;
   }
 }
diff --git a/ts/components/session/LeftPaneContactSection.tsx b/ts/components/session/LeftPaneContactSection.tsx
index e78c14005..2d027d322 100644
--- a/ts/components/session/LeftPaneContactSection.tsx
+++ b/ts/components/session/LeftPaneContactSection.tsx
@@ -140,7 +140,7 @@ export class LeftPaneContactSection extends React.Component<Props, State> {
     style,
   }: RowRendererParamsType): JSX.Element | undefined => {
     const { sentFriendsRequest } = this.props;
-    const friends = this.getCurrentFriends();
+    const friends = window.getFriendsFromContacts(this.props.friends);
     const combined = [...sentFriendsRequest, ...friends];
     const item = combined[index];
 
@@ -211,19 +211,6 @@ export class LeftPaneContactSection extends React.Component<Props, State> {
     );
   }
 
-  private getCurrentFriends(): Array<ConversationType> {
-    const { friends } = this.props;
-
-    let friendList = friends;
-    if (friendList !== undefined) {
-      friendList = friendList.filter(
-        friend => friend.type === 'direct' && !friend.isMe
-      );
-    }
-
-    return friendList;
-  }
-
   private handleToggleOverlay() {
     this.setState((prevState: { showAddContactView: boolean }) => ({
       showAddContactView: !prevState.showAddContactView,
@@ -334,7 +321,7 @@ export class LeftPaneContactSection extends React.Component<Props, State> {
 
   private renderList() {
     const { sentFriendsRequest } = this.props;
-    const friends = this.getCurrentFriends();
+    const friends = window.getFriendsFromContacts(this.props.friends);
     const length = sentFriendsRequest.length + friends.length;
     const combined = [...sentFriendsRequest, ...friends];
 
diff --git a/ts/components/session/LeftPaneMessageSection.tsx b/ts/components/session/LeftPaneMessageSection.tsx
index 26b96b6ba..fef7c8744 100644
--- a/ts/components/session/LeftPaneMessageSection.tsx
+++ b/ts/components/session/LeftPaneMessageSection.tsx
@@ -191,7 +191,7 @@ export class LeftPaneMessageSection extends React.Component<Props, any> {
     return LeftPane.RENDER_HEADER(
       labels,
       null,
-      window.i18n('compose'),
+      window.i18n('newSession'),
       this.handleToggleOverlay
     );
   }
diff --git a/ts/components/session/LeftPaneSectionHeader.tsx b/ts/components/session/LeftPaneSectionHeader.tsx
index 53405b20c..064b7d2cb 100644
--- a/ts/components/session/LeftPaneSectionHeader.tsx
+++ b/ts/components/session/LeftPaneSectionHeader.tsx
@@ -82,7 +82,7 @@ export class LeftPaneSectionHeader extends React.Component<Props, State> {
     if (buttonLabel) {
       children.push(
         <SessionButton
-          text={window.i18n('compose')}
+          text={window.i18n('newSession')}
           onClick={buttonClicked}
           key="compose"
           disabled={false}
diff --git a/ts/components/session/LeftPaneSettingSection.tsx b/ts/components/session/LeftPaneSettingSection.tsx
index 87e85e77c..e1cabaccc 100644
--- a/ts/components/session/LeftPaneSettingSection.tsx
+++ b/ts/components/session/LeftPaneSettingSection.tsx
@@ -25,7 +25,7 @@ export class LeftPaneSettingSection extends React.Component<any, State> {
     super(props);
 
     this.state = {
-      settingCategory: SessionSettingCategory.General,
+      settingCategory: SessionSettingCategory.Appearance,
       searchQuery: '',
     };
 
@@ -179,9 +179,9 @@ export class LeftPaneSettingSection extends React.Component<any, State> {
   public getCategories() {
     return [
       {
-        id: SessionSettingCategory.General,
-        title: window.i18n('generalSettingsTitle'),
-        description: window.i18n('generalSettingsDescription'),
+        id: SessionSettingCategory.Appearance,
+        title: window.i18n('appearanceSettingsTitle'),
+        description: window.i18n('appearanceSettingsDescription'),
         hidden: false,
       },
       {
diff --git a/ts/components/session/SessionClosableOverlay.tsx b/ts/components/session/SessionClosableOverlay.tsx
index 30d9a94f3..4a4647a53 100644
--- a/ts/components/session/SessionClosableOverlay.tsx
+++ b/ts/components/session/SessionClosableOverlay.tsx
@@ -3,18 +3,22 @@ import React from 'react';
 import { SessionIconButton, SessionIconSize, SessionIconType } from './icon';
 import { SessionIdEditable } from './SessionIdEditable';
 import { UserSearchDropdown } from './UserSearchDropdown';
+import { MemberList } from '../conversation/MemberList';
+import { ConversationType } from '../../state/ducks/conversations';
 import {
   SessionButton,
   SessionButtonColor,
   SessionButtonType,
 } from './SessionButton';
 import { SessionSpinner } from './SessionSpinner';
+import { SessionGroupType } from './LeftPaneChannelSection';
 
 interface Props {
-  overlayMode: 'message' | 'contact' | 'channel';
+  overlayMode: 'message' | 'contact' | SessionGroupType;
   onChangeSessionID: any;
   onCloseClick: any;
   onButtonClick: any;
+  friends?: Array<ConversationType>;
   searchTerm?: string;
   searchResults?: any;
   updateSearch?: any;
@@ -50,7 +54,9 @@ export class SessionClosableOverlay extends React.Component<Props> {
 
     const isAddContactView = overlayMode === 'contact';
     const isMessageView = overlayMode === 'message';
-    // const isChannelView = overlayMode === 'channel';
+
+    // const isOpenGroupView = overlayMode === SessionGroupType.Open;
+    const isClosedGroupView = overlayMode === SessionGroupType.Closed;
 
     let title;
     let buttonText;
@@ -59,7 +65,7 @@ export class SessionClosableOverlay extends React.Component<Props> {
     let placeholder;
     switch (overlayMode) {
       case 'message':
-        title = window.i18n('enterRecipient');
+        title = window.i18n('newSession');
         buttonText = window.i18n('next');
         descriptionLong = window.i18n('usersCanShareTheir...');
         subtitle = window.i18n('enterSessionID');
@@ -72,16 +78,28 @@ export class SessionClosableOverlay extends React.Component<Props> {
         subtitle = window.i18n('enterSessionID');
         placeholder = window.i18n('pasteSessionIDRecipient');
         break;
-      case 'channel':
-      default:
+      case 'open-group':
         title = window.i18n('addChannel');
         buttonText = window.i18n('joinChannel');
         descriptionLong = window.i18n('addChannelDescription');
         subtitle = window.i18n('enterChannelURL');
         placeholder = window.i18n('channelUrlPlaceholder');
+        break;
+      case 'closed-group':
+        title = window.i18n('createClosedGroup');
+        buttonText = window.i18n('createClosedGroup');
+        descriptionLong = window.i18n('createClosedGroupDescription');
+        subtitle = window.i18n('createClosedGroupNamePrompt');
+        placeholder = window.i18n('createClosedGroupPlaceholder');
+        break;
+      default:
+        break;
     }
 
     const ourSessionID = window.textsecure.storage.user.getNumber();
+    const friends = window.getFriendsFromContacts(this.props.friends);
+    console.log(this.props.friends);
+    console.log(window.getFriendsFromContacts(this.props.friends));
 
     return (
       <div className="module-left-pane-overlay">
@@ -105,6 +123,18 @@ export class SessionClosableOverlay extends React.Component<Props> {
           onChange={onChangeSessionID}
         />
         {showSpinner && <SessionSpinner />}
+
+        {isClosedGroupView && (
+          <div className="friend-selection-list">
+            <MemberList
+              members={friends}
+              selected={{}}
+              i18n={window.i18n}
+              onMemberClicked={() => null }//this.onMemberClicked}
+            />
+          </div>
+        )}
+
         <div className="session-description-long">{descriptionLong}</div>
         {isMessageView && <h4>{window.i18n('or')}</h4>}
 
@@ -130,6 +160,7 @@ export class SessionClosableOverlay extends React.Component<Props> {
             text={ourSessionID}
           />
         )}
+
         <SessionButton
           buttonColor={SessionButtonColor.Green}
           buttonType={SessionButtonType.BrandOutline}
diff --git a/ts/components/session/settings/SessionSettings.tsx b/ts/components/session/settings/SessionSettings.tsx
index 1f06fd2ae..692a0efbd 100644
--- a/ts/components/session/settings/SessionSettings.tsx
+++ b/ts/components/session/settings/SessionSettings.tsx
@@ -9,7 +9,7 @@ import {
 } from '../SessionButton';
 
 export enum SessionSettingCategory {
-  General = 'general',
+  Appearance = 'appearance',
   Account = 'account',
   Privacy = 'privacy',
   Permissions = 'permissions',
@@ -326,7 +326,7 @@ export class SettingsView extends React.Component<SettingsViewProps, State> {
         hidden: true,
         comparisonValue: 'light',
         type: SessionSettingType.Toggle,
-        category: SessionSettingCategory.General,
+        category: SessionSettingCategory.Appearance,
         setFn: window.toggleTheme,
         content: undefined,
         onClick: undefined,
@@ -338,7 +338,7 @@ export class SettingsView extends React.Component<SettingsViewProps, State> {
         description: window.i18n('hideMenuBarDescription'),
         hidden: !Settings.isHideMenuBarSupported(),
         type: SessionSettingType.Toggle,
-        category: SessionSettingCategory.General,
+        category: SessionSettingCategory.Appearance,
         setFn: window.toggleMenuBar,
         content: { defaultValue: true },
         comparisonValue: undefined,
@@ -351,7 +351,7 @@ export class SettingsView extends React.Component<SettingsViewProps, State> {
         description: window.i18n('spellCheckDescription'),
         hidden: false,
         type: SessionSettingType.Toggle,
-        category: SessionSettingCategory.General,
+        category: SessionSettingCategory.Appearance,
         setFn: window.toggleSpellCheck,
         content: undefined,
         comparisonValue: undefined,
@@ -364,7 +364,7 @@ export class SettingsView extends React.Component<SettingsViewProps, State> {
         description: window.i18n('linkPreviewDescription'),
         hidden: false,
         type: SessionSettingType.Toggle,
-        category: SessionSettingCategory.General,
+        category: SessionSettingCategory.Appearance,
         setFn: window.toggleLinkPreview,
         content: undefined,
         comparisonValue: undefined,
diff --git a/ts/global.d.ts b/ts/global.d.ts
index 451c3a238..3325a2f5a 100644
--- a/ts/global.d.ts
+++ b/ts/global.d.ts
@@ -6,6 +6,7 @@ interface Window {
   deleteAllData: any;
   clearLocalData: any;
   getAccountManager: any;
+  getFriendsFromContacts: any;
   mnemonic: any;
   clipboard: any;
   attemptConnection: any;