diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 697249c..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: php
-php:
- - 5.5
- - 5.4
diff --git a/api/.htaccess b/api/.htaccess
index 946c51f..0853656 100644
--- a/api/.htaccess
+++ b/api/.htaccess
@@ -1,2 +1,26 @@
+Header unset Pragma
+FileETag None
+Header unset ETag
+
+ExpiresActive On
+ExpiresDefault A0
+
+
+ExpiresDefault A0
+Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform"
+Header set Pragma "no-cache"
+
+
+Options +FollowSymLinks
RewriteEngine On
-RewriteRule ^(.*?)$ https://www.xboxleaders.com/api/1.0/$1 [L,QSA,NE]
\ No newline at end of file
+
+RedirectMatch 301 ^/api/(1\.0|2\.0)/.* https://www.xboxleaders.com/api/
+
+RewriteRule ^achievements\.(json|xml)$ achievements.php?format=$1 [L,QSA]
+RewriteRule ^games\.(json|xml)$ games.php?format=$1 [L,QSA]
+RewriteRule ^profile\.(json|xml)$ profile.php?format=$1 [L,QSA]
+RewriteRule ^friends\.(json|xml)$ friends.php?format=$1 [L,QSA]
+RewriteRule ^search\.(json|xml)$ search.php?format=$1 [L,QSA]
+
+RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|OPTIONS|POST|PUT)
+RewriteRule .* - [F]
\ No newline at end of file
diff --git a/api/1.0/.htaccess b/api/1.0/.htaccess
deleted file mode 100644
index 4de88d6..0000000
--- a/api/1.0/.htaccess
+++ /dev/null
@@ -1,23 +0,0 @@
-Header unset Pragma
-FileETag None
-Header unset ETag
-
-ExpiresActive On
-ExpiresDefault A0
-
-
-ExpiresDefault A0
-Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform"
-Header set Pragma "no-cache"
-
-
-Options +FollowSymLinks
-RewriteEngine On
-
-RewriteRule ^achievements\.(json|xml)$ achievements.php?format=$1 [L,QSA]
-RewriteRule ^games\.(json|xml)$ games.php?format=$1 [L,QSA]
-RewriteRule ^profile\.(json|xml)$ profile.php?format=$1 [L,QSA]
-RewriteRule ^friends\.(json|xml)$ friends.php?format=$1 [L,QSA]
-
-RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|OPTIONS|POST|PUT)
-RewriteRule .* - [F]
\ No newline at end of file
diff --git a/api/1.0/achievements.php b/api/1.0/achievements.php
deleted file mode 100644
index fcbc986..0000000
--- a/api/1.0/achievements.php
+++ /dev/null
@@ -1,41 +0,0 @@
-
- * @license http://opensource.org/licenses/mit-license.php The MIT License
- */
-
-include("../includes/bootloader.php");
-include("includes/kernel.php");
-$api->output_headers();
-
-$gamertag = (isset($_GET['gamertag']) && !empty($_GET['gamertag'])) ? trim($_GET['gamertag']) : null;
-$titleid = (isset($_GET['titleid'])) ? (int)$_GET['titleid'] : null;
-$region = (isset($_GET['region']) && !empty($_GET['region'])) ? $_GET['region'] : 'en-US';
-
-if($api->offline) {
- echo $api->output_error(700);
-} else if(!$api->logged_in) {
- echo $api->output_error(500);
-} else {
- if(empty($gamertag)) {
- echo $api->output_error(301);
- } else if(empty($titleid)) {
- echo $api->output_error(302);
- } else if($api->check_culture($region) == false) {
- echo $api->output_error(305);
- } else {
- $data = $api->fetch_achievements($gamertag, $titleid, $region);
- if($data) {
- echo $api->output_payload($data);
- } else {
- echo $api->output_error($api->error);
- }
- }
-}
-
-?>
\ No newline at end of file
diff --git a/api/1.0/friends.php b/api/1.0/friends.php
deleted file mode 100644
index 68b7f54..0000000
--- a/api/1.0/friends.php
+++ /dev/null
@@ -1,38 +0,0 @@
-
- * @license http://opensource.org/licenses/mit-license.php The MIT License
- */
-
-include("../includes/bootloader.php");
-include("includes/kernel.php");
-$api->output_headers();
-
-$gamertag = (isset($_GET['gamertag']) && !empty($_GET['gamertag'])) ? trim($_GET['gamertag']) : null;
-$region = (isset($_GET['region']) && !empty($_GET['region'])) ? $_GET['region'] : 'en-US';
-
-if($api->offline) {
- echo $api->output_error(700);
-} else if(!$api->logged_in) {
- echo $api->output_error(500);
-} else {
- if(empty($gamertag)) {
- echo $api->output_error(301);
- } else if($api->check_culture($region) == false) {
- echo $api->output_error(305);
- } else {
- $data = $api->fetch_friends($gamertag, $region);
- if($data) {
- echo $api->output_payload($data);
- } else {
- echo $api->output_error($api->error);
- }
- }
-}
-
-?>
\ No newline at end of file
diff --git a/api/1.0/games.php b/api/1.0/games.php
deleted file mode 100644
index 6e7b30c..0000000
--- a/api/1.0/games.php
+++ /dev/null
@@ -1,38 +0,0 @@
-
- * @license http://opensource.org/licenses/mit-license.php The MIT License
- */
-
-include("../includes/bootloader.php");
-include("includes/kernel.php");
-$api->output_headers();
-
-$gamertag = (isset($_GET['gamertag']) && !empty($_GET['gamertag'])) ? trim($_GET['gamertag']) : null;
-$region = (isset($_GET['region']) && !empty($_GET['region'])) ? $_GET['region'] : 'en-US';
-
-if($api->offline) {
- echo $api->output_error(700);
-} else if(!$api->logged_in) {
- echo $api->output_error(500);
-} else {
- if(empty($gamertag)) {
- echo $api->output_error(301);
- } else if($api->check_culture($region) == false) {
- echo $api->output_error(305);
- } else {
- $data = $api->fetch_games($gamertag, $region);
- if($data) {
- echo $api->output_payload($data);
- } else {
- echo $api->output_error($api->error);
- }
- }
-}
-
-?>
\ No newline at end of file
diff --git a/api/1.0/includes/classes/api.class.php b/api/1.0/includes/classes/api.class.php
deleted file mode 100644
index a922691..0000000
--- a/api/1.0/includes/classes/api.class.php
+++ /dev/null
@@ -1,332 +0,0 @@
-
- * @license http://opensource.org/licenses/mit-license.php The MIT License
- */
-
-class API extends Base {
- /**
- * Version of this API
- */
- public $version = "1.0";
-
- /**
- * Fetch profile information
- *
- * @access public
- * @var string gamertag
- * @var string region
- * @return array
- */
- public function fetch_profile($gamertag, $region) {
- $gamertag = trim($gamertag);
- $url = "http://live.xbox.com/" . $region . "/Profile?gamertag=" . urlencode($gamertag);
- $key = $this->version . ":profile." . $gamertag;
-
- $data = $this->__cache->fetch($key);
- if(!$data) {
- $data = $this->fetch_url($url);
- $this->__cache->store($key, $data, 3600);
- }
-
- if(stripos($data, "