diff --git a/verifier/server/app.js b/verifier/app.js
similarity index 87%
rename from verifier/server/app.js
rename to verifier/app.js
index 3f1463d73d3c0b05177bd3c25ff40e661f9c90c6..48c7e4e0fa648587fc05d4398e293ff174f0ffe5 100644
--- a/verifier/server/app.js
+++ b/verifier/app.js
@@ -1,8 +1,13 @@
 const   path = require('path'),
          url = require('url'),
-   httputils = require('./httputils.js'),
- idassertion = require('./idassertion.js'),
-         jwt = require('./jwt.js');
+          fs = require('fs'),
+   httputils = require('./lib/httputils.js'),
+ idassertion = require('./lib/idassertion.js'),
+         jwt = require('./lib/jwt.js');
+
+// create the var directory if it doesn't exist
+var VAR_DIR = path.join(__dirname, "var");
+try { fs.mkdirSync(VAR_DIR, 0755); } catch(e) { }
 
 function handler(req, resp, serveFile) {
     // dispatch!
@@ -68,6 +73,8 @@ function handler(req, resp, serveFile) {
     }
 };
 
+exports.varDir = VAR_DIR;
+
 exports.setup = function(app) {
     app.use(handler);
 };
diff --git a/verifier/server/httputils.js b/verifier/lib/httputils.js
similarity index 100%
rename from verifier/server/httputils.js
rename to verifier/lib/httputils.js
diff --git a/verifier/server/idassertion.js b/verifier/lib/idassertion.js
similarity index 100%
rename from verifier/server/idassertion.js
rename to verifier/lib/idassertion.js
diff --git a/verifier/server/jwt.js b/verifier/lib/jwt.js
similarity index 100%
rename from verifier/server/jwt.js
rename to verifier/lib/jwt.js
diff --git a/verifier/server/make_assertion.js b/verifier/lib/make_assertion.js
similarity index 100%
rename from verifier/server/make_assertion.js
rename to verifier/lib/make_assertion.js
diff --git a/verifier/server/rsa.js b/verifier/lib/rsa.js
similarity index 100%
rename from verifier/server/rsa.js
rename to verifier/lib/rsa.js
diff --git a/verifier/server/test_verification.js b/verifier/lib/test_verification.js
similarity index 100%
rename from verifier/server/test_verification.js
rename to verifier/lib/test_verification.js
diff --git a/verifier/server/standalone.js b/verifier/run.js
old mode 100644
new mode 100755
similarity index 82%
rename from verifier/server/standalone.js
rename to verifier/run.js
index 3aebe1479c9b4bb271a13232d7bf282f7aea53e4..34adb7f8e4bbd9b2765a0ed395c545166a883b30
--- a/verifier/server/standalone.js
+++ b/verifier/run.js
@@ -1,3 +1,5 @@
+#!/usr/bin/env node
+
 var   sys = require("sys"),
      path = require("path"),
        fs = require("fs"),
@@ -9,7 +11,7 @@ var PRIMARY_PORT = 62800;
 var handler = require("./app.js");
 
 var app = express.createServer().use(express.logger({
-    stream: fs.createWriteStream(path.join(__dirname, "server.log"))
+    stream: fs.createWriteStream(path.join(handler.varDir, "server.log"))
 }));
 
 // let the specific server interact directly with the express server to register their middleware