diff --git a/io_import_scene_mhx.py b/io_import_scene_mhx.py
index fcc0f3b08ce819d7a58f664d194fba2b01224a78..b954f6c90d2b6e18848d1b2c4ce9a35133f19209 100644
--- a/io_import_scene_mhx.py
+++ b/io_import_scene_mhx.py
@@ -40,7 +40,7 @@ bl_info = {
     'name': 'Import: MakeHuman (.mhx)',
     'author': 'Thomas Larsson',
     'version': (1, 10, 3),
-    "blender": (2, 6, 2),
+    "blender": (2, 6, 3),
     'location': "File > Import > MakeHuman (.mhx)",
     'description': 'Import files in the MakeHuman eXchange format (.mhx)',
     'warning': '',
@@ -1244,12 +1244,13 @@ def parseMesh (args, tokens):
     linkObject(ob, me)
         
     mats = []
+    nuvlayers = 0
     for (key, val, sub) in tokens:
         if key == 'Verts' or key == 'Edges' or key == 'Faces':
             pass
         elif key == 'MeshTextureFaceLayer':
             parseUvTexture(val, sub, me)
-        elif key == 'MeshColorLayer':
+        elif key == 'MeshColorLayer':            
             parseVertColorLayer(val, sub, me)
         elif key == 'VertexGroup':
             parseVertexGroup(ob, me, val, sub)
@@ -1307,7 +1308,7 @@ def parseFaces2(tokens, me):
     n = 0
     for (key, val, sub) in tokens:
         if key == 'ft':
-            f = me.faces[n]
+            f = me.polygons[n]
             f.material_index = int(val[0])
             f.use_smooth = int(val[1])
             n += 1
@@ -1316,42 +1317,40 @@ def parseFaces2(tokens, me):
             us = int(val[2])
             npts = int(val[0])
             for i in range(npts):
-                f = me.faces[n]
+                f = me.polygons[n]
                 f.material_index = mn
                 f.use_smooth = us
                 n += 1
         elif key == 'mn':
             fn = int(val[0])
             mn = int(val[1])
-            f = me.faces[fn]
+            f = me.polygons[fn]
             f.material_index = mn
         elif key == 'ftall':
             mat = int(val[0])
             smooth = int(val[1])
-            for f in me.faces:
+            for f in me.polygons:
                 f.material_index = mat
                 f.use_smooth = smooth
     return
 
 
 #
-#    parseUvTexture(args, tokens, me):
+#    parseUvTexture(args, tokens, me,):
 #    parseUvTexData(args, tokens, uvdata):
 #
 
 def parseUvTexture(args, tokens, me):
     name = args[0]
     uvtex = me.uv_textures.new(name = name)
-    print("WARNING: UV texture %s ignored until BMesh api is understood" % name)
-    return
     uvtex.active = True
-    tessUvtex = me.tessface_uv_textures.active   
-    print("UV textures:")
-    print("  ", me.uv_textures.active_index, uvtex, tessUvtex)
-    loadedData['MeshTextureFaceLayer'][name] = tessUvtex
+    uvloop = me.uv_loop_layers[-1]
+    #print("UV", name, uvtex)
+    #print("  ", uvloop, uvloop.data)
+    loadedData['MeshTextureFaceLayer'][name] = uvloop    
     for (key, val, sub) in tokens:
         if key == 'Data':
-            parseUvTexData(val, sub, tessUvtex.data)
+            parseUvTexData(val, sub, uvloop.data)
         else:
             defaultKey(key, val,  sub, "uvtex", [], globals(), locals())
     return
@@ -1360,15 +1359,15 @@ def parseUvTexData(args, tokens, data):
     n = 0
     for (key, val, sub) in tokens:
         if key == 'vt':
-            data[n].uv1 = (float(val[0]), float(val[1]))
-            data[n].uv2 = (float(val[2]), float(val[3]))
-            data[n].uv3 = (float(val[4]), float(val[5]))
+            data[n].uv = (float(val[0]), float(val[1]))
+            n += 1
+            data[n].uv = (float(val[2]), float(val[3]))
+            n += 1
+            data[n].uv = (float(val[4]), float(val[5]))
+            n += 1
             if len(val) > 6:
-                data[n].uv4 = (float(val[6]), float(val[7]))
-            print(val)
-            print(data[n].uv1, data[n].uv2, data[n].uv3, data[n].uv4)
-            halt
-            n += 1    
+                data[n].uv = (float(val[6]), float(val[7]))
+                n += 1
         else:
             pass
             #for i in range(n):
@@ -2041,7 +2040,7 @@ def deleteDiamonds(ob):
     if invisioNum < 0:
         print("WARNING: Nu Invisio material found. Cannot delete helper geometry")
     else:        
-        for f in me.faces:    
+        for f in me.polygons:    
             if f.material_index >= invisioNum:
                 for vn in f.vertices:
                     me.vertices[vn].select = True