diff --git a/package.json b/package.json
index ab034c31866d7ff1005ba2d72dc636361f0a72b5..dc1083a872e2b171e6cfb9ebf60565960c40ee64 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
   "version": "0.0.1",
   "scripts": {
     "ng": "ng",
-    "start": "ng serve --proxy-config proxy.json",
+    "start": "ng serve --proxy-config proxy.json --open",
     "build": "ng build",
     "test": " ng test --browsers ChromeHeadless",
     "test-coverage": " ng test --browsers ChromeHeadless --watch=false --code-coverage",
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 048567132ec861d4b37f993a14740abae7d5c928..448fd246545e84f825760b1257286352de62c365 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1,7 +1,20 @@
 <cse-header></cse-header>
 <cse-navigation></cse-navigation>
-<main class="uw-row">
-	<div class="uw-col">
-		<router-outlet></router-outlet>
-	</div>
+<main>
+	<mat-sidenav-container class="example-container" hasBackdrop="false">
+		<mat-sidenav #rightAddCourse2 mode="over" position="end">Drawer content 2
+		</mat-sidenav>
+		<mat-sidenav-content>
+			<mat-sidenav-container>
+				<mat-sidenav #rightAddCourse class="add-sidenav1"mode="over" position="end">
+					<div>content
+						<button mat-button class="btn-primary" (click)="rightAddCourse2.toggle()">Next side nav</button>
+					</div>
+				</mat-sidenav>
+				<mat-sidenav-content>
+					<router-outlet></router-outlet>
+				</mat-sidenav-content>
+			</mat-sidenav-container>
+		</mat-sidenav-content>
+	</mat-sidenav-container>
 </main>
diff --git a/src/app/app.component.scss b/src/app/app.component.scss
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..117d81243568f6da8091164a644f6eff3367f5e9 100644
--- a/src/app/app.component.scss
+++ b/src/app/app.component.scss
@@ -0,0 +1,3 @@
+.add-sidenav1 {
+    width:380px;
+}
\ No newline at end of file
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 5a968eef267f0f9a0e0ec720ee29f6c7ae1f983e..4501fdf66bc70fe63cd767152d57724b9e28bf44 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,11 +1,20 @@
-import { Component } from '@angular/core';
+import { SidenavService } from './core/service/sidenav.service';
+import { Component, ViewChild, OnInit } from '@angular/core';
+import { MatSidenav } from '@angular/material';
 
 @Component({
 	selector: 'cse-root',
 	templateUrl: './app.component.html',
 	styleUrls: ['./app.component.scss']
 })
-export class AppComponent { }
+export class AppComponent implements OnInit {
+	@ViewChild('rightAddCourse') public rightAddCourse: MatSidenav;
+	constructor(private sidenavService: SidenavService) { }
+
+	ngOnInit() {
+		this.sidenavService.setSidenav(this.rightAddCourse);
+	}
+}
 
 document.addEventListener('WebComponentsReady', function() {
 	const customEvent = new CustomEvent('myuw-login', {
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index f15c253ab0455532e7274b2f0fcdc340e81f8b2d..d4bcc51323c45014a5e8c7de5b4896dc7b791b8a 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -8,6 +8,7 @@ import { AppComponent } from './app.component';
 import { CoreModule } from '@app/core/core.module';
 import { SharedModule } from '@app/shared/shared.module';
 import { HeaderComponent } from './core/header/header.component';
+import { SidenavService } from './core/service/sidenav.service';
 
 @NgModule({
 	imports: [
@@ -22,7 +23,7 @@ import { HeaderComponent } from './core/header/header.component';
 		AppComponent,
 		HeaderComponent
 	],
-	providers: [],
+	providers: [ SidenavService ],
 	bootstrap: [ AppComponent ],
 	schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
 })
diff --git a/src/app/core/service/sidenav.service.ts b/src/app/core/service/sidenav.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..12ddbf060e1425c16867e701d0206e896fa640da
--- /dev/null
+++ b/src/app/core/service/sidenav.service.ts
@@ -0,0 +1,24 @@
+import { Injectable } from '@angular/core';
+import { MatSidenav } from '@angular/material';
+
+@Injectable()
+export class SidenavService {
+	private sidenav: MatSidenav;
+
+
+	public setSidenav(sidenav: MatSidenav) {
+		this.sidenav = sidenav;
+	}
+
+	public open() {
+		return this.sidenav.open();
+	}
+
+	public close() {
+		return this.sidenav.close();
+	}
+
+	public toggle(): void {
+		this.sidenav.toggle();
+	}
+}
diff --git a/src/app/degree-planner/degree-planner.component.html b/src/app/degree-planner/degree-planner.component.html
index 49eca23573e3875916c1baac87f735239aa78edb..6e05000c47e14ae3bfc5545cceed6ffc66fbeed4 100644
--- a/src/app/degree-planner/degree-planner.component.html
+++ b/src/app/degree-planner/degree-planner.component.html
@@ -1,63 +1,46 @@
 <mat-sidenav-container id="plans-container">
 	<!-- Menu side nav -->
-	<mat-sidenav #rightSideNav position="end" [mode]="mobileView.matches ? 'over' : 'side'" [opened]="mobileView.matches ? false : true">
+	<mat-sidenav #rightMenu position="end" [mode]="mobileView.matches ? 'over' : 'side'" [opened]="mobileView.matches ? false : true">
 		<cse-sidenav-menu-item [favoriteDropZone]="getTermDropZone()" [subjectsMap]="subjectsMap"></cse-sidenav-menu-item>
 	</mat-sidenav>
 
-	<!-- Add course sidenav -->
-	<mat-sidenav #leftSideNav position="start" mode="side" [opened]="false">
-		<div>sidenav 2</div>
-		<button mat-button class="btn-primary" (click)="leftSideNav2.toggle()">Three</button>
-	</mat-sidenav>
-
 	<mat-sidenav-content>
-		<mat-sidenav-container hasBackdrop="false">
-			<!-- Secondary side nav used after #leftSideNav is shown -->
-			<mat-sidenav #leftSideNav2 position="start" mode="over" [opened]="false">
-				<div>sidenav 3</div>
-			</mat-sidenav>
-
-			<mat-sidenav-content>
-				<div fxLayout="row" fxLayout.lt-sm="column" fxLayoutGap="20px" fxLayoutAlign="start center" style="margin: 24px 0px 24px 24px;">
-					<mat-form-field>
-						<mat-select placeholder="Degree Plans" [disableOptionCentering]="true" [(ngModel)]="selectedDegreePlan">
-							<mat-option *ngFor="let degreePlan of degreePlans" [value]="degreePlan.roadmapId">
-								{{ degreePlan.name }}
-							</mat-option>
-						</mat-select>
-					</mat-form-field>
-					<button mat-button class="btn-primary">Check Plan (DARS)</button>
-					<button id="menu-toggle-btn" mat-button (click)="rightSideNav.toggle()">
-						<i *ngIf="rightSideNav.opened" class="material-icons">chevron_right</i>
-						<i *ngIf="!rightSideNav.opened" class="material-icons">chevron_left</i>
-					</button>
-				</div>
+		<div fxLayout="row" fxLayout.lt-sm="column" fxLayoutGap="20px" fxLayoutAlign="start center" style="margin: 24px 0px 24px 24px;">
+			<mat-form-field>
+				<mat-select placeholder="Degree Plans" [disableOptionCentering]="true" [(ngModel)]="selectedDegreePlan">
+					<mat-option *ngFor="let degreePlan of degreePlans" [value]="degreePlan.roadmapId">
+						{{ degreePlan.name }}
+					</mat-option>
+				</mat-select>
+			</mat-form-field>
+			<button mat-button class="btn-primary">Check Plan (DARS)</button>
+			<button id="menu-toggle-btn" mat-button (click)="rightMenu.toggle()">
+				<i *ngIf="rightMenu.opened" class="material-icons">chevron_right</i>
+				<i *ngIf="!rightMenu.opened" class="material-icons">chevron_left</i>
+			</button>
+		</div>
 
-				<div fxLayout="column" fxLayoutGap="20px" fxLayoutAlign="start stretch" style="margin: 24px">
-					<mat-accordion multi="true">
-						<mat-expansion-panel *ngFor="let year of termsByAcademicYear | keyvalue" class="year-container"> <!--[expanded]="true"-->
-							<mat-expansion-panel-header>
-								<mat-panel-title>
-									{{ termsByAcademicYear[year.key].year | academicYearState }}
-								</mat-panel-title>
-							</mat-expansion-panel-header>
-							<div fxLayout="row" fxLayout.lt-md="column" fxLayoutGap="20px" fxLayoutAlign="start stretch" class="term-container-wrapper">
-								<cse-term-container 
-									*ngFor="let term of termsByAcademicYear[year.key].terms | keyvalue" 
-									[term]="termsByAcademicYear[year.key].terms[term.key]" 
-									[courses]="termsByAcademicYear[year.key].terms[term.key]['courses']" 
-									[termCodes]="getTermDropZone()"
-									[termsByAcademicYear]="termsByAcademicYear"
-									[subjectsMap]="subjectsMap"
-									fxFlex="33%"
-								></cse-term-container>
-							</div>
-						</mat-expansion-panel>
-					</mat-accordion>
-				</div>
-			</mat-sidenav-content>
-
-		</mat-sidenav-container>
+		<div fxLayout="column" fxLayoutGap="20px" fxLayoutAlign="start stretch" style="margin: 24px">
+			<mat-accordion multi="true">
+				<mat-expansion-panel *ngFor="let year of termsByAcademicYear | keyvalue" class="year-container"> <!--[expanded]="true"-->
+					<mat-expansion-panel-header>
+						<mat-panel-title>
+							{{ termsByAcademicYear[year.key].year | academicYearState }}
+						</mat-panel-title>
+					</mat-expansion-panel-header>
+					<div fxLayout="row" fxLayout.lt-md="column" fxLayoutGap="20px" fxLayoutAlign="start stretch" class="term-container-wrapper">
+						<cse-term-container 
+							*ngFor="let term of termsByAcademicYear[year.key].terms | keyvalue" 
+							[term]="termsByAcademicYear[year.key].terms[term.key]" 
+							[courses]="termsByAcademicYear[year.key].terms[term.key]['courses']" 
+							[termCodes]="getTermDropZone()"
+							[termsByAcademicYear]="termsByAcademicYear"
+							[subjectsMap]="subjectsMap"
+							fxFlex="33%"
+						></cse-term-container>
+					</div>
+				</mat-expansion-panel>
+			</mat-accordion>
+		</div>
 	</mat-sidenav-content>
-
 </mat-sidenav-container>
diff --git a/src/app/degree-planner/term-container/term-container.component.html b/src/app/degree-planner/term-container/term-container.component.html
index 23f15eb4664f036c11f20ce05b52127350af2411..f7cac00fc9e45093c11e58ca7d92f6468857c95d 100644
--- a/src/app/degree-planner/term-container/term-container.component.html
+++ b/src/app/degree-planner/term-container/term-container.component.html
@@ -1,41 +1,41 @@
 <mat-card class="term-container">
-    <div class="term-inner">
-        <div fxLayout="row" class="term-header" fxLayoutAlign="space-between center">
-            <h2>{{ term.termCode | getTermDescription }}</h2>
-            <div fxLayout="row" fxLayoutAlign="end center">
-                <p class="text-right semi-bold credits">{{getTotalCredits()}} Cr</p>
-                <button mat-icon-button>
-                    <mat-icon aria-label="Open dialog with notes in this term" class="add-note-icon" (click)="openNotesDialog(false, term.termCode)" matTooltip="Add Note" matTooltipPosition="above">note_add</mat-icon>
-                    <!-- <mat-icon aria-label="Open dialog with notes in this term" class="add-note-icon" (click)="openNotesDialog(false, term.termCode)" matTooltip="Edit Note" matTooltipPosition="above">insert_drive_file</mat-icon> -->
-                 </button>
-            </div>
-        </div>
-        <div
-            cdkDropList
-            id="term-{{term.termCode}}"
-            [cdkDropListData]="courses"
-            [cdkDropListConnectedTo]="termCodes"
-            class="course-list"
-            (cdkDropListDropped)="drop($event)">
-            <ng-container *ngFor="let note of notes | async">
-                <div *ngIf="note.termCode == term.termCode" class="note-item" (click)="openNotesDialog(note, term.termCode)" >
-                    <p class="semi-bold">Note</p>
-                    <p class="note-excerpt">{{ note.note }}</p>
-                </div>
-            </ng-container>
-            <div class="course-wrapper" [cdkDragData]="course" *ngFor="let course of courses" cdkDrag>
-                <div class="course-wrapper-inner">
-                    <cse-course-item 
-                        [course]="course" 
-                        (click)="openCourseDetailsDialog(course)" 
-                        [status]="'in-progress'"
-                        [subject]="subjectsMap[course.subjectCode]"
-                    ></cse-course-item>
-                </div>
-            </div>
-        </div>
-    </div>
-    <div class="add-new-wrapper">
-        <button mat-raised-button>+ Add Course</button>
-    </div>
+	<div class="term-inner">
+		<div fxLayout="row" class="term-header" fxLayoutAlign="space-between center">
+			<h2>{{ term.termCode | getTermDescription }}</h2>
+			<div fxLayout="row" fxLayoutAlign="end center">
+				<p class="text-right semi-bold credits">{{getTotalCredits()}} Cr</p>
+				<button mat-icon-button>
+					<mat-icon aria-label="Open dialog with notes in this term" class="add-note-icon" (click)="openNotesDialog(false, term.termCode)" matTooltip="Add Note" matTooltipPosition="above">note_add</mat-icon>
+					<!-- <mat-icon aria-label="Open dialog with notes in this term" class="add-note-icon" (click)="openNotesDialog(false, term.termCode)" matTooltip="Edit Note" matTooltipPosition="above">insert_drive_file</mat-icon> -->
+				 </button>
+			</div>
+		</div>
+		<div
+			cdkDropList
+			id="term-{{term.termCode}}"
+			[cdkDropListData]="courses"
+			[cdkDropListConnectedTo]="termCodes"
+			class="course-list"
+			(cdkDropListDropped)="drop($event)">
+			<ng-container *ngFor="let note of notes | async">
+				<div *ngIf="note.termCode == term.termCode" class="note-item" (click)="openNotesDialog(note, term.termCode)" >
+					<p class="semi-bold">Note</p>
+					<p class="note-excerpt">{{ note.note }}</p>
+				</div>
+			</ng-container>
+			<div class="course-wrapper" [cdkDragData]="course" *ngFor="let course of courses" cdkDrag>
+				<div class="course-wrapper-inner">
+					<cse-course-item 
+						[course]="course" 
+						(click)="openCourseDetailsDialog(course)" 
+						[status]="'in-progress'"
+						[subject]="subjectsMap[course.subjectCode]"
+					></cse-course-item>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="add-new-wrapper">
+		<button mat-raised-button (click)="openAddSidenav()">+ Add Course</button>
+	</div>
 </mat-card>
\ No newline at end of file
diff --git a/src/app/degree-planner/term-container/term-container.component.ts b/src/app/degree-planner/term-container/term-container.component.ts
index 3fd90d111053190122b54d0734a63198b2b81442..474465d50fb4e8f76ab68a32b48af0f18049a8d9 100644
--- a/src/app/degree-planner/term-container/term-container.component.ts
+++ b/src/app/degree-planner/term-container/term-container.component.ts
@@ -1,4 +1,5 @@
-import { Component, Input, ChangeDetectorRef } from '@angular/core';
+import { SidenavService } from './../../core/service/sidenav.service';
+import { Component, Input, ChangeDetectorRef, ViewChild } from '@angular/core';
 import { Term } from '../../core/models/term';
 import { Course } from '../../core/models/course';
 import { DataService } from '../../core/data.service';
@@ -34,8 +35,12 @@ export class TermContainerComponent {
 	constructor(
 		private dataService: DataService,
 		public dialog: MatDialog,
+		private sidenavService: SidenavService,
 		private cdRef: ChangeDetectorRef) { }
 
+	openAddSidenav() {
+		this.sidenavService.open();
+	}
 	openNotesDialog(note, termCode) {
 		let dialogRef;
 		if (!note) {