diff --git a/tests/test-PIT-matching.html b/tests/test-PIT-matching.html
index 4ccac10..a4a5eaf 100644
--- a/tests/test-PIT-matching.html
+++ b/tests/test-PIT-matching.html
@@ -10,12 +10,12 @@
 <head>
 	<title>NDN PIT Matching</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
-		var ndn = new NDN({verify:false});
+		var ndn = new NDN({port:9696,host:"localhost", verify:false});
         
-        var AsyncGetClosure = function AsyncGetClosure(target) {
+                var AsyncGetClosure = function AsyncGetClosure(target) {
         	// Inherit from Closure.
 			Closure.call(this);
             
diff --git a/tests/test-decode-FaceInstance.html b/tests/test-decode-FaceInstance.html
index 922d881..1c203f2 100644
--- a/tests/test-decode-FaceInstance.html
+++ b/tests/test-decode-FaceInstance.html
@@ -11,7 +11,7 @@
 <head>
 	<title>NDN Decode Face Instance</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 
diff --git a/tests/test-decode-Interest+Forwarding+Entry.html b/tests/test-decode-Interest+Forwarding+Entry.html
index c08f0ef..83c0849 100644
--- a/tests/test-decode-Interest+Forwarding+Entry.html
+++ b/tests/test-decode-Interest+Forwarding+Entry.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Decode Interest + Face Instance</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 	
diff --git a/tests/test-encode-decode-ContentObject.html b/tests/test-encode-decode-ContentObject.html
index eb55741..1c2cfe0 100644
--- a/tests/test-encode-decode-ContentObject.html
+++ b/tests/test-encode-decode-ContentObject.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Encode/Decode Content Object</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 	
diff --git a/tests/test-encode-decode-Interest.html b/tests/test-encode-decode-Interest.html
index b72aee5..7beef74 100644
--- a/tests/test-encode-decode-Interest.html
+++ b/tests/test-encode-decode-Interest.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Encode/Decode Interest</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 	
diff --git a/tests/test-get-async.html b/tests/test-get-async.html
index 401d62d..ede20af 100644
--- a/tests/test-get-async.html
+++ b/tests/test-get-async.html
@@ -10,7 +10,7 @@
 <head>
 	<title>NDN Get via WebSocket</title>
 	
-	<script type="text/javascript" src="../tools/build/ndn-js.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 		var ndn = new NDN();
diff --git a/tests/test-image-parsing.html b/tests/test-image-parsing.html
index a3c4f82..c1bdb98 100644
--- a/tests/test-image-parsing.html
+++ b/tests/test-image-parsing.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Image Parsing</title>
 
-    <script type="text/javascript" src="../Helper.js"></script>
+    <script type="text/javascript" src="../build/ndn-js.js"></script>
 		
 	<script type="text/javascript">
 		function sign(){
diff --git a/tests/test-interest-matches-name.html b/tests/test-interest-matches-name.html
index 993e1fc..48e00cb 100644
--- a/tests/test-interest-matches-name.html
+++ b/tests/test-interest-matches-name.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Interest Matches Name</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 	
diff --git a/tests/test-name.html b/tests/test-name.html
index 318511d..dd2a875 100644
--- a/tests/test-name.html
+++ b/tests/test-name.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Name</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 	
diff --git a/tests/test-path.html b/tests/test-path.html
index 3675bfe..430f182 100644
--- a/tests/test-path.html
+++ b/tests/test-path.html
@@ -10,7 +10,7 @@
 <head>
 	<title>Get path to Helper.js</title>
 	
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 		var ndn = new NDN();
diff --git a/tests/test-publish-async.html b/tests/test-publish-async.html
index 70b60a9..e3844e6 100644
--- a/tests/test-publish-async.html
+++ b/tests/test-publish-async.html
@@ -1,7 +1,7 @@
 <?xml version = "1.0" encoding="utf-8" ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "DTD/xhtml1-strict.dtd">
-<!-- 
+<!--
 	See COPYING for copyright and distribution information.
 -->
 <html xmlns = "http://www.w3.org/1999/xhtml">
@@ -10,17 +10,17 @@
 
 <head>
 	<title>NDN Put via WebSocket</title>
-	
-	<script type="text/javascript" src="../tools/build/ndn-js.js"></script>	
-	
+
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
+
 	<script type="text/javascript">
 		var ndn = new NDN();
-        
+
         var AsyncPutClosure = function AsyncPutClosure() {
         	// Inherit from Closure.
 			Closure.call(this);
 		};
-		
+
 		AsyncPutClosure.prototype.upcall = function(kind, upcallInfo) {
 			if (kind == Closure.UPCALL_FINAL) {
 				// Do nothing.
@@ -30,49 +30,49 @@
 				var content = document.getElementById('content').value;
 				var interest = upcallInfo.interest;
 				var nameStr = interest.name.getName();
-				
+
 				var si = new SignedInfo();
-				
+
 				var co = new ContentObject(new Name(nameStr), si, content, new Signature());
 				co.sign();
-				
+
 				upcallInfo.contentObject = co;
 				return Closure.RESULT_INTEREST_CONSUMED;
 			}
 			return Closure.RESULT_OK;
 		};
-        
-		
+
+
 		function run() {
-			var contentName = document.getElementById('contentname').value;		
-			
+			var contentName = document.getElementById('contentname').value;
+
 			ndn.registerPrefix(new Name(contentName), new AsyncPutClosure());
-			
-			document.getElementById('result').innerHTML = 'Content name \'' + contentName 
+
+			document.getElementById('result').innerHTML = 'Content name \'' + contentName
 					+'\' published.';
 		}
-	
+
 		</script>
-	
+
 </head>
 <body >
 	<form>
 	<div>
 		<p>Please Enter a Content Name:</p>
-		
-		<input id="contentname" type="text" name="CONTENTNAME" value="/wentao.shang/regtest001" /> 
-		
+
+		<input id="contentname" type="text" name="CONTENTNAME" value="/wentao.shang/regtest001" />
+
                 <p>Please Enter the Content:</p>
-		
-		<textarea id="content" cols="40" rows="5" name="CONTENT" >This works!</textarea> 
-		
+
+		<textarea id="content" cols="40" rows="5" name="CONTENT" >This works!</textarea>
+
 		<br />
 		</div>
 	</form>
 	<div>
 		<button id="testBtn" onclick="run()">Publish Content</button>
 	</div>
-	
+
 	<p id="result"></p>
 
 </body>
diff --git a/tests/test-sha256.html b/tests/test-sha256.html
index d441249..ef62010 100644
--- a/tests/test-sha256.html
+++ b/tests/test-sha256.html
@@ -9,7 +9,7 @@
 <head>
 	<title>Test SHA-256</title>
 
-    <script type="text/javascript" src="../Helper.js"></script>
+    <script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/sha256.js"></script>
 	
diff --git a/tests/test-signature-binary.html b/tests/test-signature-binary.html
index c3e28bb..77650d1 100644
--- a/tests/test-signature-binary.html
+++ b/tests/test-signature-binary.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Signature - Binary</title>
 
-	<script type="text/javascript" src="../Helper.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 		function sign(){
diff --git a/tests/test-signature-string.html b/tests/test-signature-string.html
index 025d065..0d0cab6 100644
--- a/tests/test-signature-string.html
+++ b/tests/test-signature-string.html
@@ -9,7 +9,7 @@
 <head>
 	<title>NDN Signature - String</title>
 
-    <script type="text/javascript" src="../Helper.js"></script>
+    <script type="text/javascript" src="../build/ndn-js.js"></script>
 		
 	<script type="text/javascript">
 		function sign(){
diff --git a/tests/test-throughput-http.html b/tests/test-throughput-http.html
index 3720be7..8635b2e 100644
--- a/tests/test-throughput-http.html
+++ b/tests/test-throughput-http.html
@@ -7,7 +7,7 @@
 <head>
 	<title>HTTP Get via XHR</title>
 	
-	<script type="text/javascript" src="../tools/build/ndn-js.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
 		function run() {
diff --git a/tests/test-throughput-ws-pipeline.html b/tests/test-throughput-ws-pipeline.html
index 8ece0f8..0389583 100644
--- a/tests/test-throughput-ws-pipeline.html
+++ b/tests/test-throughput-ws-pipeline.html
@@ -7,11 +7,10 @@
 <head>
 	<title>NDN Get File via WebSocket</title>
 	
-	<script type="text/javascript" src="../tools/build/ndn-js.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
-		hostip = "131.179.196.232";
-		//hostip = "localhost";
+		hostip = "localhost";
 		var ndncon = new NDN({port:9696,host:hostip});
 		//var ndncon = new NDN({port:9696,host:hostip,verify:false});
         
diff --git a/tests/test-throughput-ws.html b/tests/test-throughput-ws.html
index b059637..3f137e1 100644
--- a/tests/test-throughput-ws.html
+++ b/tests/test-throughput-ws.html
@@ -7,17 +7,14 @@
 <head>
 	<title>NDN Get File via WebSocket</title>
 	
-	<script type="text/javascript" src="../tools/build/ndn-js.js"></script>
+	<script type="text/javascript" src="../build/ndn-js.js"></script>
 
 	<script type="text/javascript">
-		hostip = "131.179.196.232";
-		//hostip = "localhost";
-		//var ndncon = new NDN({port:9696,host:hostip});
+		hostip = "localhost";
 		var ndncon = new NDN({port:9696,host:hostip,verify:false});
-        ndncon.transport.connectWebSocket(ndncon);
         
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-        /*
+                /*
 		 * Closure for calling expressInterest to fetch big file.
 		 */                                                
 		var ContentClosure = function ContentClosure(ndn, T0) {
