diff --git a/demos/nav-push-pop/app.html b/demos/nav-push-pop/app.html
new file mode 100644
index 0000000000..5f6bb33d68
--- /dev/null
+++ b/demos/nav-push-pop/app.html
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/demos/nav-push-pop/index.ts b/demos/nav-push-pop/index.ts
new file mode 100644
index 0000000000..45490f7cc1
--- /dev/null
+++ b/demos/nav-push-pop/index.ts
@@ -0,0 +1,52 @@
+import {App, Page, IonicApp, Config, Platform} from 'ionic/ionic';
+import {NavController, NavParams} from 'ionic/ionic';
+
+var PAGE_NUM = 2;
+
+@App({
+ templateUrl: 'app.html'
+})
+class ApiDemoApp {
+
+ constructor() {
+ this.rootPage = InitialPage;
+ }
+}
+
+@Page({
+ templateUrl: 'main.html'
+})
+export class InitialPage {
+ constructor(nav: NavController) {
+ this.nav = nav;
+ }
+
+ push() {
+ this.nav.push(Page2);
+ }
+}
+
+@Page({
+ templateUrl: "page-2.html"
+})
+export class Page2 {
+ constructor(
+ nav: NavController,
+ ) {
+ this.nav = nav;
+ this.pageNum = PAGE_NUM;
+ }
+
+ push() {
+ PAGE_NUM++;
+ this.nav.push(Page2);
+ }
+
+ pop() {
+ if (PAGE_NUM > 2) {
+ PAGE_NUM--;
+ }
+ this.nav.pop();
+ }
+}
+
diff --git a/demos/nav-push-pop/main.html b/demos/nav-push-pop/main.html
new file mode 100644
index 0000000000..65fc1b97fe
--- /dev/null
+++ b/demos/nav-push-pop/main.html
@@ -0,0 +1,9 @@
+
+ Nav Push/Pop
+
+
+
+
+
+
+
diff --git a/demos/nav-push-pop/page-2.html b/demos/nav-push-pop/page-2.html
new file mode 100644
index 0000000000..553012fd78
--- /dev/null
+++ b/demos/nav-push-pop/page-2.html
@@ -0,0 +1,12 @@
+
+ Page {{pageNum}}
+
+
+
+
+
+
+
+
+
+