diff --git a/app/templates/editor/verifier/verifier-view.jade b/app/templates/editor/verifier/verifier-view.jade
index dd01f0466..d0e0c21bd 100644
--- a/app/templates/editor/verifier/verifier-view.jade
+++ b/app/templates/editor/verifier/verifier-view.jade
@@ -6,15 +6,23 @@ block content
       div.col-sm-3
         p.alert.alert-success(style="padding: 5px")
           | Passed: #{view.passed}
+      div.col-sm-3
+        p.alert.alert-warning(style="padding: 5px")
+          | Test Problem: #{view.problem}
       div.col-sm-3
         p.alert.alert-danger(style="padding: 5px")
           | Failed: #{view.failed}
+      div.col-sm-3
+        p.alert.alert-info(style="padding: 5px")
+          | To Run: #{view.testCount - view.passed - view.problem - view.failed}
 
     if view.levelIDs 
       .progress
         .progress-bar.progress-bar-success(role="progressbar" style="width: #{100*view.passed/view.testCount}%")
+        .progress-bar.progress-bar-warning(role="progressbar" style="width: #{100*view.problem/view.testCount}%")
         .progress-bar.progress-bar-danger(role="progressbar" style="width: #{100*view.failed/view.testCount}%")
 
+
     each test, id in view.tests
       if test.level
         .pull-right
@@ -55,7 +63,10 @@ block content
                 else
                   div(style='color: red') ✘ #{k} (#{v.status} vs #{test.solution.goals[k]})
             else
-              h3 Running....
+              h3 Pending....
+
+            if test.error
+                pre(style="color: red") #{test.error}
           
       else
         h1 Loading Level...
diff --git a/app/views/editor/verifier/VerifierTest.coffee b/app/views/editor/verifier/VerifierTest.coffee
index e796ada17..3a49ea98c 100644
--- a/app/views/editor/verifier/VerifierTest.coffee
+++ b/app/views/editor/verifier/VerifierTest.coffee
@@ -32,9 +32,9 @@ module.exports = class VerifierTest extends CocoClass
     @grabLevelLoaderData()
 
     unless @solution
-      @updateCallback? state: 'error'
       @error = 'No solution present...'
       @state = 'error'
+      @updateCallback? state: 'error'
       return
     me.team = @team = 'humans'
     @setupGod()
diff --git a/app/views/editor/verifier/VerifierView.coffee b/app/views/editor/verifier/VerifierView.coffee
index 46f151526..dda94d5d8 100644
--- a/app/views/editor/verifier/VerifierView.coffee
+++ b/app/views/editor/verifier/VerifierView.coffee
@@ -1,6 +1,7 @@
 RootView = require 'views/core/RootView'
 template = require 'templates/editor/verifier/verifier-view'
 VerifierTest = require './VerifierTest'
+SuperModel = require 'models/SuperModel'
 
 module.exports = class VerifierView extends RootView
   className: 'style-flat'
@@ -13,6 +14,8 @@ module.exports = class VerifierView extends RootView
     # TODO: sort tests by unexpected result first
     @passed = 0
     @failed = 0
+    @problem = 0
+
     testLevels = [
       'dungeons-of-kithgard', 'gems-in-the-deep', 'shadow-guard', 'kounter-kithwise', 'crawlways-of-kithgard',
       'enemy-mine', 'illusory-interruption', 'forgetful-gemsmith', 'signs-and-portents', 'favorable-odds',
@@ -26,30 +29,79 @@ module.exports = class VerifierView extends RootView
       'patrol-buster', 'endangered-burl', 'thumb-biter', 'gems-or-death', 'village-guard', 'thornbush-farm',
       'back-to-back', 'ogre-encampment', 'woodland-cleaver', 'shield-rush', 'range-finder', 'munchkin-swarm',
       'stillness-in-motion', 'the-agrippa-defense', 'backwoods-bombardier', 'coinucopia', 'copper-meadows',
-      'drop-the-flag', 'mind-the-trap', 'signal-corpse', 'rich-forager'
+      'drop-the-flag', 'mind-the-trap', 'signal-corpse', 'rich-forager',
+
+      "the-mighty-sand-yak", "oasis", "sarven-road", "sarven-gaps", "thunderhooves", "minesweeper",
+      "medical-attention", "sarven-sentry", "keeping-time", "hoarding-gold", "decoy-drill", "continuous-alchemy",
+      "dust", "desert-combat", "sarven-savior", "lurkers", "preferential-treatment", "sarven-shepherd",
+      "shine-getter"
+
+      #"the-dunes", "the-mighty-sand-yak", "oasis", "basin-stampede", "sarven-road", "sarven-gaps",
+      #"crossroads", "thunderhooves", "operation-killdeer", "medical-attention", "the-great-yak-stampede",
+      #"minesweeper", "sarven-sentry", "keeping-time", "hoarding-gold", "bookkeeper", "decoy-drill",
+      #"continuous-alchemy", "yakstraction", "sarven-brawl", "desert-combat", "dust", "dont-rush-be-quiet",
+      #"sarven-rescue", "sacred-statue", "mirage-maker", "sarven-savior", "odd-sandstorm", "lurkers",
+      #"preferential-treatment", "bash-em-all", "sarven-shepherd", "shine-getter", "sand-snakes",
+      #"the-trials", "mad-maxer", "mad-maxer-strikes-back", "mad-maxer-sells-out", "mad-maxer-gets-greedy",
+      #"mad-maxer-redemption", "sarven-treasure", "harrowland", "sarven-siege", "goalkeeper",
+      #"clash-of-clones", "stranded-in-the-dunes", "sarven-sum", "golden-mirage", "diamond-dozen",
+      #"brittle-morale", "zig-zag-and-zoom", "cubic-minefield"
+
+
+
     ]
 
+    defaultCores = 2
+    cores = Math.max(window.navigator.hardwareConcurrency, defaultCores)
+
     #testLevels = testLevels.slice 0, 15
     @linksQueryString = window.location.search
     @levelIDs = if @levelID then [@levelID] else testLevels
-    @testCount = @levelIDs.length * 2 #One per langauge
+    
     #supermodel = if @levelID then @supermodel else undefined
     @tests = []
-    async.eachSeries @levelIDs, (levelID, lnext) =>
-      async.eachSeries ['python','javascript'], (lang, next) =>
-        test = new VerifierTest levelID, (e) =>
+    @taskList = []
+
+    @tasksList = _.flatten _.map @levelIDs, (v) ->
+      console.log(v)
+      _.map ['python', 'javascript'], (l) ->
+        level: v, language: l
+
+    @testCount = @tasksList.length
+
+    chunks = _.groupBy @tasksList, (v,i) -> i%cores
+    supermodels = [@supermodel]
+
+
+
+
+    _.forEach chunks, (chunk, i) => 
+      _.delay =>
+        parentSuperModel = supermodels[supermodels.length-1]
+        chunkSupermodel = new SuperModel()
+        chunkSupermodel.models = _.clone parentSuperModel.models
+        chunkSupermodel.collections = _.clone parentSuperModel.collections
+        supermodels.push chunkSupermodel
+
+        async.eachSeries chunk, (task, next) =>
+          test = new VerifierTest task.level, (e) =>
+            @update(e)
+            if e.state in ['complete', 'error']
+              if e.state is 'complete'
+                if test.isSucessful()
+                  ++@passed
+                else
+                  ++@failed
+              else 
+                ++@problem
+
+              next()
+          , chunkSupermodel, task.language
+          @tests.unshift test
+          @render()
+        , => @render()
+      , if i > 0 then 5000 + i * 1000 else 0
 
-          @update(e)
-          if e.state in ['complete', 'error']
-            if test.isSucessful()
-              ++@passed
-            else
-              ++@failed
-            next()
-        , @supermodel, lang
-        @tests.unshift test
-      , -> lnext()
-    , () => @render()
   update: (event) =>
     # TODO: show unworkable tests instead of hiding them
     # TODO: destroy them Tests after or something