diff --git a/README.md b/README.md
index 6b130ad874..e3cf045000 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,5 @@
-# ionic2
-Ionic2 WIP Repo
-it's a thing
+#### Build
-Learn it
+- JSCS
+- JSHint (or TypeScript variant)
diff --git a/scripts/build/placeholder b/scripts/build/placeholder
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/scripts/ci/placeholder b/scripts/ci/placeholder
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/scripts/docs/placeholder b/scripts/docs/placeholder
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/scripts/test/placeholder b/scripts/test/placeholder
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/button.js b/src/components/control/button/button.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/button.scss b/src/components/control/button/button.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/button.spec.js b/src/components/control/button/button.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/examples/example1/example1.e2e.js b/src/components/control/button/examples/example1/example1.e2e.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/examples/example1/example1.js b/src/components/control/button/examples/example1/example1.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/examples/example1/example1.scss b/src/components/control/button/examples/example1/example1.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/button/examples/example1/index.html b/src/components/control/button/examples/example1/index.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/control.js b/src/components/control/control.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/control/control.spec.js b/src/components/control/control.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/ion.js b/src/components/ion.js
new file mode 100644
index 0000000000..69e72a188e
--- /dev/null
+++ b/src/components/ion.js
@@ -0,0 +1,8 @@
+
+class Ion {
+ assign(...args) {
+ for (let obj of args) {
+ //...extend this
+ }
+ }
+}
diff --git a/src/components/ion.spec.js b/src/components/ion.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/mixins/android/android-tabbar.html b/src/components/tabbar/mixins/android/android-tabbar.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/mixins/android/android-tabbar.js b/src/components/tabbar/mixins/android/android-tabbar.js
new file mode 100644
index 0000000000..586ae79636
--- /dev/null
+++ b/src/components/tabbar/mixins/android/android-tabbar.js
@@ -0,0 +1,20 @@
+
+import {TabbarConfig} from '/components/tabbar/tabbar';
+import {Draggable} from '/behaviors/draggable';
+
+TabbarConfig.platform('android')
+ .template(require('./android-template.html'))
+ .mixin(function(tabbar) {
+ Draggable(tabbar);
+ tabbarInstance.setAsHeader();
+
+ tabbar.assign({
+ onDragStart() {},
+ onDrag() {},
+ onDragEnd() {}
+ });
+ });
+
+/*
+
+*/
diff --git a/src/components/tabbar/mixins/android/android-tabbar.scss b/src/components/tabbar/mixins/android/android-tabbar.scss
new file mode 100644
index 0000000000..9e22e17461
--- /dev/null
+++ b/src/components/tabbar/mixins/android/android-tabbar.scss
@@ -0,0 +1,8 @@
+.tabbar.with-inkbar {
+
+ .inkbar {
+ bottom: 0;
+ height: 3px;
+ color: yellow;
+ }
+}
diff --git a/src/components/tabbar/mixins/android/android-tabbar.spec.js b/src/components/tabbar/mixins/android/android-tabbar.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/mixins/placement/placement.js b/src/components/tabbar/mixins/placement/placement.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/mixins/placement/placement.scss b/src/components/tabbar/mixins/placement/placement.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/mixins/placement/placement.spec.js b/src/components/tabbar/mixins/placement/placement.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/tabbar.js b/src/components/tabbar/tabbar.js
new file mode 100644
index 0000000000..b96d851524
--- /dev/null
+++ b/src/components/tabbar/tabbar.js
@@ -0,0 +1,3 @@
+
+class Tabbar extends Ion {
+}
diff --git a/src/components/tabbar/tabbar.scss b/src/components/tabbar/tabbar.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/components/tabbar/tabbar.spec.js b/src/components/tabbar/tabbar.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/history.js b/src/history.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/index.js b/src/index.js
new file mode 100644
index 0000000000..ba07254162
--- /dev/null
+++ b/src/index.js
@@ -0,0 +1,3 @@
+/*
+ * export everything here
+ */
diff --git a/src/old/button/built.js b/src/old/button/built.js
new file mode 100644
index 0000000000..3141d7f542
--- /dev/null
+++ b/src/old/button/built.js
@@ -0,0 +1,9 @@
+import {ButtonConfig} from './button-config';
+import {AndroidButton} from './mixins/android/android-button';
+import {LargeButton} from './mixins/android-button';
+
+ButtonConfig.platform('android').mixin(AndroidButton);
+
+ButtonConfig.media('lg').mixin(DesktopButton);
+
+ButtonConfig.when('popBehavior').mixin(PopButton);
diff --git a/src/old/button/button.js b/src/old/button/button.js
new file mode 100644
index 0000000000..98bae1f26e
--- /dev/null
+++ b/src/old/button/button.js
@@ -0,0 +1,22 @@
+import { Component } from 'angular';
+import { ButtonGroup } from '../components/button-group';
+import { androidButton} from './platforms/android/android-button';
+import { blockButton } from './block-button';
+
+@Component({
+ selector: 'ion-button',
+ bind: {
+ isBlockButton: 'isBlockButton'
+ }
+})
+export class Button extends IonicComponent {
+ /* A button checks for a parent buttonGroup */
+ constructor(@Parent(ButtonGroup) buttonGroup) {
+ this.buttonGroup = buttonGroup;
+ super();
+ }
+ onPress() {
+ }
+}
+export var ButtonConfig = new IonicConfig('button');
+
diff --git a/src/old/button/button.scss b/src/old/button/button.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/old/button/button.spec.js b/src/old/button/button.spec.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/old/button/examples/inline-button/index.html b/src/old/button/examples/inline-button/index.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/old/button/examples/inline-button/inline-button.e2e.js b/src/old/button/examples/inline-button/inline-button.e2e.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/old/button/examples/inline-button/inline-button.js b/src/old/button/examples/inline-button/inline-button.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/old/button/examples/inline-button/style.scss b/src/old/button/examples/inline-button/style.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/old/button/mixins/android/android-button.js b/src/old/button/mixins/android/android-button.js
new file mode 100644
index 0000000000..a4de0fe5f2
--- /dev/null
+++ b/src/old/button/mixins/android/android-button.js
@@ -0,0 +1,14 @@
+import { ButtonConfig } from '/components/button';
+
+ButtonConfig.platform('android')
+ .mixin(androidButtonMixin)
+ .className('button-android'); // This is the default
+
+export default function androidButtonMixin(buttonInstance) {
+ Pannable(buttonInstance);
+ return {
+ onPanStart() {},
+ onPan() {},
+ onPanEnd() {}
+ };
+}
diff --git a/src/old/button/mixins/android/android-button.scss b/src/old/button/mixins/android/android-button.scss
new file mode 100644
index 0000000000..d74a9dfdf2
--- /dev/null
+++ b/src/old/button/mixins/android/android-button.scss
@@ -0,0 +1,3 @@
+.button.button-android {
+ border-radius: 5px;
+}
diff --git a/src/old/button/mixins/pop/pop-button.js b/src/old/button/mixins/pop/pop-button.js
new file mode 100644
index 0000000000..c2bf3cd7cd
--- /dev/null
+++ b/src/old/button/mixins/pop/pop-button.js
@@ -0,0 +1,25 @@
+import { ButtonConfig } from '/components/button';
+
+ButtonConfig.decorator('popButton')
+ .mixin(popButtonMixin)
+ .className('button-pop');
+
+function popButtonMixin(buttonInstance) {
+ return {
+ onRelease() {
+ alert('pop!');
+ }
+ };
+}
+
+/*
+//instance config
+
+
+
+import ButtonConfig
+ButtonConfig.set({ popButton: true })
+ButtonConfig.platform('lg').set({ popButton: true })
+
+
+*/
diff --git a/src/old/button/mixins/pop/pop-button.scss b/src/old/button/mixins/pop/pop-button.scss
new file mode 100644
index 0000000000..3906633043
--- /dev/null
+++ b/src/old/button/mixins/pop/pop-button.scss
@@ -0,0 +1,6 @@
+.button.button-pop {
+ box-shadow: 0 9px 0 black;
+ &:active {
+ transform: translate3d(0, 2px, 0);
+ }
+}
diff --git a/src/platform.js b/src/platform.js
new file mode 100644
index 0000000000..e69de29bb2