diff --git a/.classpath b/.classpath
deleted file mode 100644
index a35cd9e..0000000
--- a/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/.project b/.project
deleted file mode 100644
index 605a36b..0000000
--- a/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- justCheckers
-
-
-
-
-
- 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/README.rst b/README.rst
new file mode 100644
index 0000000..7d3020c
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,26 @@
+======================
+justCheckers - README!
+======================
+
+About the Project
+-----------------
+
+*justCheckers* is an advanced open source checkers game for Android. The aim of
+the project is to make a game capable of supporting:
+
+- Skinning
+- Network Games
+- Computer Opponents
+- Various Rules and Internationalizations
+- Cross platform (both OS and input types)
+
+Current Progress
+----------------
+
+The *justCheckers* project is in the middle of a general overhaul of the codebase to allow for a more modern approach. Both the game engine needs to get decoupled from the platform specific code.
+
+Links
+-----
+
+- Project website: http://justcheckers.org/
+- Project @ Github: https://github.com/dorianpula/justcheckers
\ No newline at end of file
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 827c5d2..0000000
--- a/README.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-== About the Project ==
-
-justCheckers is an advanced open source checkers game for Android. The aim of
-the project is to make a game capable of supporting:
-
-* Skinning
-* Network Games
-* Computer Opponents
-* Various Rules and Internationalizations
-
-Project homepage: http://justcheckers.org/
-
-== Current Progress ==
-
-The justCheckers project is in the middle of a general rewrite as much of the
-code was designed for a desktop Java application rather than an Android app.
-Also the game engine requires a general overhaul to allow for handling of
-various variants of checkers.
diff --git a/android/build.gradle b/android/build.gradle
new file mode 100755
index 0000000..07d3b9a
--- /dev/null
+++ b/android/build.gradle
@@ -0,0 +1,47 @@
+/*
+ Modular Gradle Build for justCheckers Android
+ ---------------------------------------------
+
+ Author: Dorian Pula (dorian.pula@amber-penguin-software.ca)
+ License: AGPL v3.
+
+ Gradle docs:
+ http://www.gradle.org/docs/current/userguide/userguide_single.html
+ Gradle Android build docs:
+ https://sites.google.com/a/android.com/tools/tech-docs/new-build-system
+*/
+
+buildscript {
+ repositories {
+ maven { url 'http://repo1.maven.org/maven2' }
+
+ }
+ dependencies { classpath 'com.android.tools.build:gradle:0.3' }
+}
+
+apply plugin: 'android'
+
+sourceCompatibility = 1.6
+targetCompatibility = 1.6
+
+// Description of the project
+description = 'justCheckers'
+version = '0.3'
+
+// Androids!!!
+android {
+ compileSdkVersion 14
+}
+
+// Setup build script repositories starting with Maven repositories
+repositories {
+ maven {
+ url 'http://repo1.maven.org/maven2'
+ }
+}
+
+// Dependency management
+dependencies {
+
+ compile 'jdom:jdom:0.7' // TODO: Get rid of the JDOM and use Android's content provider.
+}
\ No newline at end of file
diff --git a/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml
similarity index 69%
rename from src/main/AndroidManifest.xml
rename to android/src/main/AndroidManifest.xml
index 6cd350e..eb3dc6e 100644
--- a/src/main/AndroidManifest.xml
+++ b/android/src/main/AndroidManifest.xml
@@ -7,16 +7,16 @@
-
+
-
-
-
+
+
+
diff --git a/src/main/java/org/justcheckers/android/GameActivity.java b/android/src/main/java/org/justcheckers/android/GameActivity.java
similarity index 95%
rename from src/main/java/org/justcheckers/android/GameActivity.java
rename to android/src/main/java/org/justcheckers/android/GameActivity.java
index 704292f..bafbb2d 100644
--- a/src/main/java/org/justcheckers/android/GameActivity.java
+++ b/android/src/main/java/org/justcheckers/android/GameActivity.java
@@ -19,10 +19,10 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.android;
+package main.java.org.justcheckers.android;
-import org.justcheckers.game.Game;
-import org.justcheckers.game.Rulebook;
+import main.java.org.justcheckers.game.Game;
+import main.java.org.justcheckers.game.Rulebook;
import android.app.Activity;
import android.os.Bundle;
diff --git a/src/main/java/org/justcheckers/android/InfoActivity.java b/android/src/main/java/org/justcheckers/android/InfoActivity.java
similarity index 97%
rename from src/main/java/org/justcheckers/android/InfoActivity.java
rename to android/src/main/java/org/justcheckers/android/InfoActivity.java
index 106be39..0085f59 100644
--- a/src/main/java/org/justcheckers/android/InfoActivity.java
+++ b/android/src/main/java/org/justcheckers/android/InfoActivity.java
@@ -19,14 +19,14 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.android;
+package main.java.org.justcheckers.android;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import org.justcheckers.common.GlobalConstants;
+import main.java.org.justcheckers.common.GlobalConstants;
import android.app.Activity;
import android.os.Bundle;
diff --git a/src/main/java/org/justcheckers/android/MenuActivity.java b/android/src/main/java/org/justcheckers/android/MenuActivity.java
similarity index 96%
rename from src/main/java/org/justcheckers/android/MenuActivity.java
rename to android/src/main/java/org/justcheckers/android/MenuActivity.java
index a2d5f50..51075d3 100644
--- a/src/main/java/org/justcheckers/android/MenuActivity.java
+++ b/android/src/main/java/org/justcheckers/android/MenuActivity.java
@@ -19,10 +19,10 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.android;
+package main.java.org.justcheckers.android;
-import org.justcheckers.common.GlobalConstants;
-import org.justcheckers.common.LoggingAndStatistics;
+import main.java.org.justcheckers.common.GlobalConstants;
+import main.java.org.justcheckers.common.LoggingAndStatistics;
import android.app.Activity;
import android.content.Intent;
diff --git a/src/main/java/org/justcheckers/android/SettingsActivity.java b/android/src/main/java/org/justcheckers/android/SettingsActivity.java
similarity index 97%
rename from src/main/java/org/justcheckers/android/SettingsActivity.java
rename to android/src/main/java/org/justcheckers/android/SettingsActivity.java
index c4aaa25..2f4f934 100644
--- a/src/main/java/org/justcheckers/android/SettingsActivity.java
+++ b/android/src/main/java/org/justcheckers/android/SettingsActivity.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.android;
+package main.java.org.justcheckers.android;
import android.graphics.Color;
import android.os.Bundle;
diff --git a/src/main/java/org/justcheckers/common/GlobalConstants.java b/android/src/main/java/org/justcheckers/common/GlobalConstants.java
similarity index 97%
rename from src/main/java/org/justcheckers/common/GlobalConstants.java
rename to android/src/main/java/org/justcheckers/common/GlobalConstants.java
index 953c109..efdeb18 100644
--- a/src/main/java/org/justcheckers/common/GlobalConstants.java
+++ b/android/src/main/java/org/justcheckers/common/GlobalConstants.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.common;
+package main.java.org.justcheckers.common;
/**
* Organizational class to keep all the constants in.
diff --git a/src/main/java/org/justcheckers/common/LoggingAndStatistics.java b/android/src/main/java/org/justcheckers/common/LoggingAndStatistics.java
similarity index 96%
rename from src/main/java/org/justcheckers/common/LoggingAndStatistics.java
rename to android/src/main/java/org/justcheckers/common/LoggingAndStatistics.java
index ea7cb79..776f617 100644
--- a/src/main/java/org/justcheckers/common/LoggingAndStatistics.java
+++ b/android/src/main/java/org/justcheckers/common/LoggingAndStatistics.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.common;import org.justcheckers.android.R;
+package main.java.org.justcheckers.common;import org.justcheckers.android.R;
import android.app.Activity;
import android.os.Build;
diff --git a/src/main/java/org/justcheckers/game/Board.java b/android/src/main/java/org/justcheckers/game/Board.java
similarity index 99%
rename from src/main/java/org/justcheckers/game/Board.java
rename to android/src/main/java/org/justcheckers/game/Board.java
index 0e6c6f0..d46b2e7 100644
--- a/src/main/java/org/justcheckers/game/Board.java
+++ b/android/src/main/java/org/justcheckers/game/Board.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.game;
+package main.java.org.justcheckers.game;
/**
* Container for the state of the checker board during a game.
diff --git a/src/main/java/org/justcheckers/game/Game.java b/android/src/main/java/org/justcheckers/game/Game.java
similarity index 99%
rename from src/main/java/org/justcheckers/game/Game.java
rename to android/src/main/java/org/justcheckers/game/Game.java
index 9dcaefa..d20b58b 100644
--- a/src/main/java/org/justcheckers/game/Game.java
+++ b/android/src/main/java/org/justcheckers/game/Game.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.game;
+package main.java.org.justcheckers.game;
import android.graphics.Point;
diff --git a/src/main/java/org/justcheckers/game/GameEngine.java b/android/src/main/java/org/justcheckers/game/GameEngine.java
similarity index 96%
rename from src/main/java/org/justcheckers/game/GameEngine.java
rename to android/src/main/java/org/justcheckers/game/GameEngine.java
index 8e17d24..3b7bf38 100644
--- a/src/main/java/org/justcheckers/game/GameEngine.java
+++ b/android/src/main/java/org/justcheckers/game/GameEngine.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.game;
+package main.java.org.justcheckers.game;
/**
* @author dpula
diff --git a/src/main/java/org/justcheckers/game/Player.java b/android/src/main/java/org/justcheckers/game/Player.java
similarity index 98%
rename from src/main/java/org/justcheckers/game/Player.java
rename to android/src/main/java/org/justcheckers/game/Player.java
index b211255..af267e8 100644
--- a/src/main/java/org/justcheckers/game/Player.java
+++ b/android/src/main/java/org/justcheckers/game/Player.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.game;
+package main.java.org.justcheckers.game;
/**
* Manages the information of a single player.
diff --git a/src/main/java/org/justcheckers/game/Rulebook.java b/android/src/main/java/org/justcheckers/game/Rulebook.java
similarity index 99%
rename from src/main/java/org/justcheckers/game/Rulebook.java
rename to android/src/main/java/org/justcheckers/game/Rulebook.java
index 41993fd..9dd1ba5 100644
--- a/src/main/java/org/justcheckers/game/Rulebook.java
+++ b/android/src/main/java/org/justcheckers/game/Rulebook.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.game;
+package main.java.org.justcheckers.game;
/**
* The rules for a game of checkers. This class provides a reference object for
diff --git a/src/main/java/org/justcheckers/test/game/AmericanGameTest.java b/android/src/main/java/org/justcheckers/test/game/AmericanGameTest.java
similarity index 94%
rename from src/main/java/org/justcheckers/test/game/AmericanGameTest.java
rename to android/src/main/java/org/justcheckers/test/game/AmericanGameTest.java
index 45db1b8..92d7d43 100644
--- a/src/main/java/org/justcheckers/test/game/AmericanGameTest.java
+++ b/android/src/main/java/org/justcheckers/test/game/AmericanGameTest.java
@@ -20,7 +20,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.test.game;
+package main.java.org.justcheckers.test.game;
/**
* Regression test for a game of checkers played according to American rules.
diff --git a/src/main/java/org/justcheckers/test/game/GameLogicTest.java b/android/src/main/java/org/justcheckers/test/game/GameLogicTest.java
similarity index 94%
rename from src/main/java/org/justcheckers/test/game/GameLogicTest.java
rename to android/src/main/java/org/justcheckers/test/game/GameLogicTest.java
index 496d655..b750285 100644
--- a/src/main/java/org/justcheckers/test/game/GameLogicTest.java
+++ b/android/src/main/java/org/justcheckers/test/game/GameLogicTest.java
@@ -19,7 +19,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.test.game;
+package main.java.org.justcheckers.test.game;
/**
* Test the game engine logic. Tests if the game engine can manipulate the
diff --git a/src/main/java/org/justcheckers/test/game/GameStateTest.java b/android/src/main/java/org/justcheckers/test/game/GameStateTest.java
similarity index 90%
rename from src/main/java/org/justcheckers/test/game/GameStateTest.java
rename to android/src/main/java/org/justcheckers/test/game/GameStateTest.java
index b77d7a5..916d507 100644
--- a/src/main/java/org/justcheckers/test/game/GameStateTest.java
+++ b/android/src/main/java/org/justcheckers/test/game/GameStateTest.java
@@ -19,10 +19,10 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.test.game;
+package main.java.org.justcheckers.test.game;
-import org.justcheckers.game.Game;
-import org.justcheckers.game.Rulebook;
+import main.java.org.justcheckers.game.Game;
+import main.java.org.justcheckers.game.Rulebook;
/**
* Test the game state logic. Tests the NQPOJO (not quite plain old Java
diff --git a/src/main/java/org/justcheckers/test/game/InternationalGameTest.java b/android/src/main/java/org/justcheckers/test/game/InternationalGameTest.java
similarity index 94%
rename from src/main/java/org/justcheckers/test/game/InternationalGameTest.java
rename to android/src/main/java/org/justcheckers/test/game/InternationalGameTest.java
index 28c5883..606a4f5 100644
--- a/src/main/java/org/justcheckers/test/game/InternationalGameTest.java
+++ b/android/src/main/java/org/justcheckers/test/game/InternationalGameTest.java
@@ -20,7 +20,7 @@
along with justCheckers. If not, see .
*****************************************************************************/
-package org.justcheckers.test.game;
+package main.java.org.justcheckers.test.game;
/**
* Regression test for a game of checkers played according to International
diff --git a/src/main/java/org/justcheckers/xml/ConfigSettings.java b/android/src/main/java/org/justcheckers/xml/ConfigSettings.java
similarity index 97%
rename from src/main/java/org/justcheckers/xml/ConfigSettings.java
rename to android/src/main/java/org/justcheckers/xml/ConfigSettings.java
index 595b93f..9383b6d 100644
--- a/src/main/java/org/justcheckers/xml/ConfigSettings.java
+++ b/android/src/main/java/org/justcheckers/xml/ConfigSettings.java
@@ -1,7 +1,4 @@
-package org.justcheckers.xml;
-
-import java.util.HashMap;
-import java.util.Set;
+package main.java.org.justcheckers.xml;
/***************************************************************************
* *
diff --git a/src/main/java/org/justcheckers/xml/ConfigSettingsIO.java b/android/src/main/java/org/justcheckers/xml/ConfigSettingsIO.java
similarity index 97%
rename from src/main/java/org/justcheckers/xml/ConfigSettingsIO.java
rename to android/src/main/java/org/justcheckers/xml/ConfigSettingsIO.java
index a3edbbb..4b14844 100644
--- a/src/main/java/org/justcheckers/xml/ConfigSettingsIO.java
+++ b/android/src/main/java/org/justcheckers/xml/ConfigSettingsIO.java
@@ -1,4 +1,4 @@
-package org.justcheckers.xml;
+package main.java.org.justcheckers.xml;
import java.io.BufferedWriter;
import java.io.File;
@@ -148,7 +148,7 @@ public class ConfigSettingsIO extends XML_IO{
for(int k=0;k