diff --git a/src/data/TaxonNode.java b/src/data/TaxonNode.java
index a40a599f031b444c875a461e944518c45cb62906..e73396f559d684fbad65f1105d43fb0f53769eba 100644
--- a/src/data/TaxonNode.java
+++ b/src/data/TaxonNode.java
@@ -12,7 +12,7 @@ import java.util.ArrayList;
  * https://stackoverflow.com/questions/2697182/how-to-use-an-array-list
  */
 	
-public class TaxonNode implements Serializable {
+public class TaxonNode implements Serializable, Comparable<TaxonNode> {
 	/**
 	 * 
 	 */
@@ -142,4 +142,10 @@ public class TaxonNode implements Serializable {
 		s += String.format("%-20s%d\n", "Count:", childrenCount);
 		return s;
 	}
+
+	@Override
+	public int compareTo(TaxonNode o) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
 }
diff --git a/src/web/Director.java b/src/web/Director.java
index 644210a0c295c725e57852591751b1af42ca165f..daa81d8debde9f77c1571f7da824db82196f5d76 100755
--- a/src/web/Director.java
+++ b/src/web/Director.java
@@ -16,9 +16,8 @@ public class Director extends HttpServlet {
 	public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
 		RequestDispatcher view = null;
 		String req = getUrlDoPortion(request);
-	    //if (req == "doBioLookup.do")
+	    if (req.equals("doBioLookup.do"))
 	    		view = request.getRequestDispatcher("bioresult.jsp");
-	    		request.setAttribute("url", req);
 	    
 	    //RequestDispatcher view = request.getRequestDispatcher("histogram.jsp");
 	    view.forward(request, response);
diff --git a/tomcat/webapps/Trawl/bioresult.jsp b/tomcat/webapps/Trawl/bioresult.jsp
index 6eb76d7dbf2f5e49e966b0929aee4f017d169e34..cc2a416ef42909c62fd1388bec23bf348cbe836a 100644
--- a/tomcat/webapps/Trawl/bioresult.jsp
+++ b/tomcat/webapps/Trawl/bioresult.jsp
@@ -1,19 +1,29 @@
 <%@page import="org.json.simple.JSONArray"%>
+<%@page import="sort.MergeSort"%>
+<%@page import="sort.GeneralCompare"%>
 <%@page import="org.json.simple.parser.JSONParser"%>
 <%@ page import="java.util.*, data.Record, model.TrawlExpert, search.BST, search.BasicSearchResult, org.json.simple.JSONObject, data.TaxonNode" %>
 <%
 	TrawlExpert te = (TrawlExpert)request.getServletContext().getAttribute("trawl");
-	Iterable<TaxonNode> txNodes = te.getTaxonRecord(2).getChildren();
 	JSONParser parser = new JSONParser();
-	//JSONObject req = (JSONObject) parser.parse(request.getReader().toString());
+	JSONObject req = (JSONObject) parser.parse(request.getReader().readLine());
 	
-	//Integer taxonId = (int) (long) req.get("taxonId");
+	Integer taxonId = (int) (long) req.get("taxid");
+	//System.out.println(taxonId);
+	ArrayList<TaxonNode> txNodes = ((ArrayList<TaxonNode>) te.getTaxonRecord(taxonId).getChildren());
+	TaxonNode[] txNodesAr = txNodes.toArray(new TaxonNode[txNodes.size()]);
+	
+	GeneralCompare<TaxonNode> gc = (tn0, tn1) -> ((TaxonNode) tn0).getName().compareTo(((TaxonNode) tn1).getName());
+	MergeSort.sort(txNodesAr, 0, txNodesAr.length - 1, gc);
 
 	JSONObject js = new JSONObject();
 	JSONArray taxonIds = new JSONArray();
 	JSONArray names    = new JSONArray();
 	
-	for (TaxonNode tx: txNodes){
+	taxonIds.add(-1);
+	names.add("Any");
+	
+	for (TaxonNode tx: txNodesAr){
 		taxonIds.add(tx.getTaxonId());
 		names.add(tx.getName());
 	}