diff --git a/hGameTest/project.xml b/hGameTest/project.xml
index d0175150..eaad2b00 100644
--- a/hGameTest/project.xml
+++ b/hGameTest/project.xml
@@ -15,7 +15,8 @@
 	
 	
 	
-	
+	
+	
 	
 	
 	
diff --git a/hGameTest/res/data/textures.json b/hGameTest/res/data/textures.json
new file mode 100644
index 00000000..b148db7d
--- /dev/null
+++ b/hGameTest/res/data/textures.json
@@ -0,0 +1,18 @@
+{
+    "dataScheme":"textureList",
+    "version":1,
+    "textureData": {
+        "spriteSheets":[{
+                "sheetName":"testSheet",
+                "path":"sheets/sheet.png",
+                "sheetDataPath":"sheets/sheet.json",
+                "explicitDimensions":true,
+                "tileDimensions":{"width":16,"height":16}
+        }],
+        "sprites":
+        [{
+                "spriteName":"player",
+                "path":"individual/character.png"
+        }]
+    }
+}
diff --git a/hGameTest/res/textures/sheets/sheet.htex.json b/hGameTest/res/textures/sheets/sheet.htex.json
new file mode 100644
index 00000000..30ee1b76
--- /dev/null
+++ b/hGameTest/res/textures/sheets/sheet.htex.json
@@ -0,0 +1,36 @@
+{
+    "datascheme":"htex",
+    "version":1,
+    "textureData":{
+        "texName":"testsheet",
+        "texType":"atlas",
+        "atlas":{
+            "atlasType":"tilesetgeneric",
+            "tileSize":{
+                "x":16,
+                "y":16
+            },
+            "tilesetGeneric":{
+                "baseTexture":"textures/sheets/sheet.png",
+                "tiles":[
+                    "testTile1",
+                    "testTile2",
+                    "testTile3",
+                    "testTile4",
+                    "testTile5",
+                    "testTile6",
+                    "testTile7",
+                    "testTile8",
+                    "testTile9",
+                    "testTile10",
+                    "testTile11",
+                    "testTile12",
+                    "testTile13",
+                    "testTile14",
+                    "testTile15",
+                    "testTile16"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/hGameTest/res/textures/sheets/sheet.png b/hGameTest/res/textures/sheets/sheet.png
new file mode 100644
index 00000000..7d0a0cd0
Binary files /dev/null and b/hGameTest/res/textures/sheets/sheet.png differ
diff --git a/hGameTest/res/textures/sheets/sheetAnim.htex.json b/hGameTest/res/textures/sheets/sheetAnim.htex.json
new file mode 100644
index 00000000..04d58c08
--- /dev/null
+++ b/hGameTest/res/textures/sheets/sheetAnim.htex.json
@@ -0,0 +1,36 @@
+{
+    "datascheme":"htex",
+    "version":"1",
+    "textureData":{
+        "texName":"testsheet",
+        "texType":"atlas",
+        "atlas":{
+            "atlasType":"tilesetgeneric",
+            "tileSize":{
+                "x":16,
+                "y":16
+            },
+            "tilesetGeneric":{
+                "baseTexture":"textures/sheets/sheet.png",
+                "tiles":[
+                    "testTile1",
+                    "testTile2",
+                    "testTile3",
+                    "testTile4",
+                    "testTile5",
+                    "testTile6",
+                    "testTile7",
+                    "testTile8",
+                    "testTile9",
+                    "testTile10",
+                    "testTile11",
+                    "testTile12",
+                    "testTile13",
+                    "testTile14",
+                    "testTile15",
+                    "testTile16"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/hGameTest/res/sprites/character.png b/hGameTest/res/textures/sprites/character.png
similarity index 100%
rename from hGameTest/res/sprites/character.png
rename to hGameTest/res/textures/sprites/character.png
diff --git a/hGameTest/src/Game.hx b/hGameTest/src/Game.hx
index c9184817..6798ea96 100644
--- a/hGameTest/src/Game.hx
+++ b/hGameTest/src/Game.hx
@@ -5,6 +5,9 @@ import openfl.display.BitmapData;
 import openfl.display.Sprite;
 import openfl.events.Event;
 import openfl.Assets;
+import assets.TextureData;
+import assets.SpriteSheet;
+import assets.Scanner;
 
 class Game
 {
@@ -19,10 +22,15 @@ class Game
 		stage.addChild(player);
 		//player.graphics.lineStyle(2,0xFF0000);
         //player.graphics.drawRect(0,0,16,16);
-        var bitmapData:BitmapData = Assets.getBitmapData("sprites/character.png");
-        var playerBitmap:Bitmap = new Bitmap(bitmapData);
+        // var bitmapData:BitmapData = Assets.getBitmapData("textures/sprites/character.png");
+        var sheetData:BitmapData = Assets.getBitmapData("textures/sheets/sheet.png");
+        var sheet:SpriteSheet = new SpriteSheet(sheetData);
+
+        var playerBitmap:Bitmap = new Bitmap(sheet.sprites[15]);
         playerBitmap.scaleX = playerBitmap.scaleY = 10;
-        player.addChild(playerBitmap);
+         player.addChild(playerBitmap);
+        //TextureData.parseConfig();
+        Scanner.scanTextureDir();
         //Sys.
 	}
 	public function onEnterFrame(e:Event):Void
diff --git a/hGameTest/src/SpriteSheet.hx b/hGameTest/src/SpriteSheet.hx
deleted file mode 100644
index ccbc13e2..00000000
--- a/hGameTest/src/SpriteSheet.hx
+++ /dev/null
@@ -1,16 +0,0 @@
-import openfl.display.BitmapData;
-import openfl.display.Bitmap;
-class SpriteSheet{
-    public static var spriteSheetArray:Array = [];
-    public var sprites:Array = [];
-    public function new(bmp:Bitmap = null, sprWidth:Int = 16, sprHeight:Int = 16){
-        spriteSheetArray.push(this);
-        var columns:Int = cast((bmp.width / sprWidth),Int);
-        var rows:Int = cast((bmp.height / sprHeight),Int);
-        for(i in 0...columns){
-            for (j in 0...rows){
-                
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/hGameTest/src/assets/HTex.hx b/hGameTest/src/assets/HTex.hx
new file mode 100644
index 00000000..8481b13e
--- /dev/null
+++ b/hGameTest/src/assets/HTex.hx
@@ -0,0 +1,28 @@
+package assets;
+
+import openfl.display.BitmapData;
+import assets.schema.HTexSchema.TexV1;
+
+class HTex{
+    public static var hTexArray:Array = [];
+    public var bitmaps:Array;
+    public var name:String = "";
+    public function new(_name:String){
+        name = _name;
+        if(hTexArray[name] == null)
+            hTexArray[name] = name;
+    }
+    public static function createTextureObjectFromJSON(path:String){
+        var DATA:TexV1;
+        var loadedData:String = Assets.getText(path);
+        var jsondata = Json.parse(loadedData);
+        DATA = jsondata;
+        DATA = TexV1;
+        if(DATA.dataScheme == "htex"){
+            if(DATA.version == 1){
+                var texdata:TextureDataV1 = Data.textureData;
+            }
+        }
+    }
+    
+}
\ No newline at end of file
diff --git a/hGameTest/src/assets/Scanner.hx b/hGameTest/src/assets/Scanner.hx
new file mode 100644
index 00000000..f1ba4704
--- /dev/null
+++ b/hGameTest/src/assets/Scanner.hx
@@ -0,0 +1,33 @@
+package assets;
+import sys.io.File;
+import sys.FileSystem;
+
+class Scanner{
+    public static function scanTextureDir(){
+        scanDirsRecursively("textures");
+    }
+    public static var textures:Array = [];
+    public static var dirsToScan:Int = 1;
+    public static function scanDirsRecursively(cd:String){
+        var textureDir:Array = FileSystem.readDirectory(cd);
+        cd+="/";
+        trace(textureDir);
+        for(dir in textureDir){
+            if(FileSystem.isDirectory(cd+dir)){
+                dirsToScan++;
+                trace("Scanning dir: "+dir);
+                scanDirsRecursively(cd+dir);
+            }
+            else{
+                if(dir.indexOf(".htex.json") > -1){
+                    textures.push(cd+dir);
+                }
+            }
+        }
+        dirsToScan--;
+        if(dirsToScan == 0){
+            trace("Finished scanning");
+            trace(textures);
+        }
+    }
+}
\ No newline at end of file
diff --git a/hGameTest/src/assets/SpriteSheet.hx b/hGameTest/src/assets/SpriteSheet.hx
new file mode 100644
index 00000000..8573f842
--- /dev/null
+++ b/hGameTest/src/assets/SpriteSheet.hx
@@ -0,0 +1,26 @@
+package assets;
+
+import openfl.geom.Point;
+import openfl.geom.Rectangle;
+import openfl.display.BitmapData;
+import openfl.display.Bitmap;
+class SpriteSheet{
+    public static var spriteSheetArray:Array = [];
+    public var sprites:Array = [];
+    public function new(bmp:BitmapData = null, sprWidth:Int = 16, sprHeight:Int = 16){
+        spriteSheetArray.push(this);
+        var columns:Int = cast((bmp.width / sprWidth),Int);
+        var rows:Int = cast((bmp.height / sprHeight),Int);
+        //trace("columns:"+columns);
+        //trace("rows"+rows);
+        for(i in 0...rows){
+            for (j in 0...columns){
+                var bmpd:BitmapData = new BitmapData(sprWidth, sprHeight,true,0x00000000);
+                var rect:Rectangle = new Rectangle(j*sprWidth,i*sprHeight,sprWidth,sprHeight);
+                bmpd.copyPixels(bmp, rect, new Point(0,0));
+                sprites.push(bmpd);
+                //trace("i:"+i+",j:"+j);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/hGameTest/src/assets/TextureData.hx b/hGameTest/src/assets/TextureData.hx
new file mode 100644
index 00000000..227ad5bb
--- /dev/null
+++ b/hGameTest/src/assets/TextureData.hx
@@ -0,0 +1,44 @@
+package assets;
+
+import openfl.Assets;
+import haxe.Json;
+
+typedef TexturesV1={
+    var dataScheme:String;
+    var version:Int;
+    var textureData:{
+        var spriteSheets:Array<{
+            var sheetNamekeke:String;
+            var path:String;
+            var sheetDataPath:String;
+            var explicitDimensions:Bool;
+            var tileDimensions:{
+                var width:Int;
+                var height:Int;
+            };
+        }>; 
+        var sprites:Array<{
+            var spriteName:String;
+            var path:String;
+        }>;
+    };
+}
+
+class TextureData{
+    public static var textures:Array = [];
+    public static function parseConfig(path:String = "data/textures.json"){
+        var DATA:TexturesV1;
+        var loadedData:String = Assets.getText(path);
+        var jsondata = Json.parse(loadedData);
+        DATA = jsondata;
+        //var test:String = File.getContent(test.txt);
+        trace(DATA);
+        /*typedef DataModal=
+        {
+            var ID:Int;
+            var NAME:String;
+            var TAGS:Array;
+        }
+        */
+    }
+}
diff --git a/hGameTest/src/assets/schema/HTexSchema.hx b/hGameTest/src/assets/schema/HTexSchema.hx
new file mode 100644
index 00000000..66f4f3e6
--- /dev/null
+++ b/hGameTest/src/assets/schema/HTexSchema.hx
@@ -0,0 +1,47 @@
+package assets.schema;
+
+
+
+typedef TileSetGenericV1={
+    var baseTexture:String;
+    var tiles:Array;
+}
+
+typedef TileSetAnimatedV1={
+    var baseTexture:String;
+    var animations:Array<{
+        var animName:String;
+        var sequenceStart:Int;
+        var sequenceEnd:Int;
+    }>;
+}
+typedef TextureDataV1={
+    var texName:String;
+    var texType:String;
+    var atlas:{
+        var atlasType:String;
+        var tileSize:{
+            var x:Int;
+            var y:Int;
+        },
+        var tileSetGeneric:TileSetGenericV1;
+        var tileSetAnimated:TileSetAnimatedV1;
+    }
+    var path:String;
+    var sheetDataPath:String;
+    var explicitDimensions:Bool;
+    var tileDimensions:{
+        var width:Int;
+        var height:Int;
+    }; 
+    var sprites:Array<{
+        var spriteName:String;
+        var path:String;
+    }>;
+}
+
+typedef TexV1={
+    var dataScheme:String;
+    var version:Int;
+    var textureData:TextureDataV1;
+}
\ No newline at end of file
diff --git a/hGameTest/src/assets/tilesets/Sequence.hx b/hGameTest/src/assets/tilesets/Sequence.hx
new file mode 100644
index 00000000..1f63ad69
--- /dev/null
+++ b/hGameTest/src/assets/tilesets/Sequence.hx
@@ -0,0 +1,12 @@
+package assets.tilesets;
+
+import openfl.display.BitmapData;
+class Sequence{
+    public var bitmaps:Array = [];
+    public var name:String = "";
+    public var currentFrame = 0;
+    public function new(_name:String, _bitmaps:Array){
+        name = _name;
+        bitmaps = _bitmaps;
+    }
+}
\ No newline at end of file
diff --git a/hGameTest/src/assets/tilesets/TilesetAnimated.hx b/hGameTest/src/assets/tilesets/TilesetAnimated.hx
new file mode 100644
index 00000000..7079e99e
--- /dev/null
+++ b/hGameTest/src/assets/tilesets/TilesetAnimated.hx
@@ -0,0 +1,10 @@
+package assets.tilesets;
+
+import assets.schema.HTexSchema;
+
+class TilesetAnimated{
+    public var sequences:Array = [];
+    public function new(){
+
+    }
+}
\ No newline at end of file
diff --git a/hGameTest/src/assets/tilesets/TilesetGeneric.hx b/hGameTest/src/assets/tilesets/TilesetGeneric.hx
new file mode 100644
index 00000000..15423347
--- /dev/null
+++ b/hGameTest/src/assets/tilesets/TilesetGeneric.hx
@@ -0,0 +1,8 @@
+package assets.tilesets;
+
+
+class TilesetGeneric {
+
+    
+
+}
\ No newline at end of file