diff --git a/.classpath b/.classpath
deleted file mode 100644
index 1457e3c35..000000000
--- a/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/.gitignore b/.gitignore
index 334396f27..24fae1d9f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,14 +1,8 @@
-/.metadata/
-node_modules/
-dist/
-
-local.properties
-
-gen/
-armeabi-v7a/
-x86/
-obj/
-bin/
-.svn/
-.settings/
-test/
+.gradle
+/local.properties
+.idea/
+.DS_Store/
+build/
+gradlew
+gradlew.bat
+gradle/
\ No newline at end of file
diff --git a/.project b/.project
deleted file mode 100644
index bd27c6d4c..000000000
--- a/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- widgets
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/POM.xml b/POM.xml
deleted file mode 100644
index a131cf7af..000000000
--- a/POM.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
- 4.0.0
- org.nativescript.widgets
- nativescript-widgets
- 0.1.0
-
\ No newline at end of file
diff --git a/android-widgets.iml b/android-widgets.iml
new file mode 100644
index 000000000..4b78a5b32
--- /dev/null
+++ b/android-widgets.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 000000000..6a5c233c5
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,15 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+ repositories {
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:1.3.0'
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ }
+}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 000000000..55bcce01b
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Tue Nov 03 10:36:19 EET 2015
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
diff --git a/libs/android-support-v4.jar b/libs/android-support-v4.jar
deleted file mode 100644
index 1780ad3d5..000000000
Binary files a/libs/android-support-v4.jar and /dev/null differ
diff --git a/lint.xml b/lint.xml
deleted file mode 100644
index ee0eead5b..000000000
--- a/lint.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/proguard-project.txt b/proguard-project.txt
deleted file mode 100644
index f2fe1559a..000000000
--- a/proguard-project.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-# To enable ProGuard in your project, edit project.properties
-# to define the proguard.config property as described in that file.
-#
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in ${sdk.dir}/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the ProGuard
-# include property in project.properties.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/project.properties b/project.properties
deleted file mode 100644
index 484dab075..000000000
--- a/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-17
-android.library=true
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 000000000..09ee5ce4c
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1 @@
+include ':widgets'
diff --git a/widgets/build.gradle b/widgets/build.gradle
new file mode 100644
index 000000000..06d5d5968
--- /dev/null
+++ b/widgets/build.gradle
@@ -0,0 +1,22 @@
+apply plugin: 'com.android.library'
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "23.0.1"
+
+ defaultConfig {
+ minSdkVersion 17
+ targetSdkVersion 21
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+ }
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:23.0.1'
+}
diff --git a/AndroidManifest.xml b/widgets/src/main/AndroidManifest.xml
similarity index 100%
rename from AndroidManifest.xml
rename to widgets/src/main/AndroidManifest.xml
diff --git a/src/org/nativescript/widgets/AbsoluteLayout.java b/widgets/src/main/java/org/nativescript/widgets/AbsoluteLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/AbsoluteLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/AbsoluteLayout.java
diff --git a/src/org/nativescript/widgets/CommonLayoutParams.java b/widgets/src/main/java/org/nativescript/widgets/CommonLayoutParams.java
similarity index 100%
rename from src/org/nativescript/widgets/CommonLayoutParams.java
rename to widgets/src/main/java/org/nativescript/widgets/CommonLayoutParams.java
diff --git a/src/org/nativescript/widgets/ContentLayout.java b/widgets/src/main/java/org/nativescript/widgets/ContentLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/ContentLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/ContentLayout.java
diff --git a/src/org/nativescript/widgets/Dock.java b/widgets/src/main/java/org/nativescript/widgets/Dock.java
similarity index 100%
rename from src/org/nativescript/widgets/Dock.java
rename to widgets/src/main/java/org/nativescript/widgets/Dock.java
diff --git a/src/org/nativescript/widgets/DockLayout.java b/widgets/src/main/java/org/nativescript/widgets/DockLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/DockLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/DockLayout.java
diff --git a/src/org/nativescript/widgets/GridLayout.java b/widgets/src/main/java/org/nativescript/widgets/GridLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/GridLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/GridLayout.java
diff --git a/src/org/nativescript/widgets/GridUnitType.java b/widgets/src/main/java/org/nativescript/widgets/GridUnitType.java
similarity index 100%
rename from src/org/nativescript/widgets/GridUnitType.java
rename to widgets/src/main/java/org/nativescript/widgets/GridUnitType.java
diff --git a/src/org/nativescript/widgets/HorizontalScrollView.java b/widgets/src/main/java/org/nativescript/widgets/HorizontalScrollView.java
similarity index 100%
rename from src/org/nativescript/widgets/HorizontalScrollView.java
rename to widgets/src/main/java/org/nativescript/widgets/HorizontalScrollView.java
diff --git a/src/org/nativescript/widgets/ImageView.java b/widgets/src/main/java/org/nativescript/widgets/ImageView.java
similarity index 100%
rename from src/org/nativescript/widgets/ImageView.java
rename to widgets/src/main/java/org/nativescript/widgets/ImageView.java
diff --git a/src/org/nativescript/widgets/ItemSpec.java b/widgets/src/main/java/org/nativescript/widgets/ItemSpec.java
similarity index 100%
rename from src/org/nativescript/widgets/ItemSpec.java
rename to widgets/src/main/java/org/nativescript/widgets/ItemSpec.java
diff --git a/src/org/nativescript/widgets/LayoutBase.java b/widgets/src/main/java/org/nativescript/widgets/LayoutBase.java
similarity index 100%
rename from src/org/nativescript/widgets/LayoutBase.java
rename to widgets/src/main/java/org/nativescript/widgets/LayoutBase.java
diff --git a/src/org/nativescript/widgets/Orientation.java b/widgets/src/main/java/org/nativescript/widgets/Orientation.java
similarity index 100%
rename from src/org/nativescript/widgets/Orientation.java
rename to widgets/src/main/java/org/nativescript/widgets/Orientation.java
diff --git a/src/org/nativescript/widgets/StackLayout.java b/widgets/src/main/java/org/nativescript/widgets/StackLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/StackLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/StackLayout.java
diff --git a/src/org/nativescript/widgets/TabItemSpec.java b/widgets/src/main/java/org/nativescript/widgets/TabItemSpec.java
similarity index 100%
rename from src/org/nativescript/widgets/TabItemSpec.java
rename to widgets/src/main/java/org/nativescript/widgets/TabItemSpec.java
diff --git a/src/org/nativescript/widgets/TabLayout.java b/widgets/src/main/java/org/nativescript/widgets/TabLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/TabLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/TabLayout.java
diff --git a/src/org/nativescript/widgets/TabStrip.java b/widgets/src/main/java/org/nativescript/widgets/TabStrip.java
similarity index 100%
rename from src/org/nativescript/widgets/TabStrip.java
rename to widgets/src/main/java/org/nativescript/widgets/TabStrip.java
diff --git a/src/org/nativescript/widgets/VerticalScrollView.java b/widgets/src/main/java/org/nativescript/widgets/VerticalScrollView.java
similarity index 100%
rename from src/org/nativescript/widgets/VerticalScrollView.java
rename to widgets/src/main/java/org/nativescript/widgets/VerticalScrollView.java
diff --git a/src/org/nativescript/widgets/WrapLayout.java b/widgets/src/main/java/org/nativescript/widgets/WrapLayout.java
similarity index 100%
rename from src/org/nativescript/widgets/WrapLayout.java
rename to widgets/src/main/java/org/nativescript/widgets/WrapLayout.java
diff --git a/res/.gitkeep b/widgets/src/main/res/.gitkeep
similarity index 100%
rename from res/.gitkeep
rename to widgets/src/main/res/.gitkeep
diff --git a/widgets/widgets.iml b/widgets/widgets.iml
new file mode 100644
index 000000000..c34c911b9
--- /dev/null
+++ b/widgets/widgets.iml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generateDebugAndroidTestSources
+ generateDebugSources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file