moving everything to rector tomorrow, website contains all the latest .html and .jsp files of the crunch website, should be placed inside the root directory of the crunch web application in tomcat. interface_files may contain duplicates of files from the images dir, I'll take care of it. changes need to be made to the interface form

hb2143 [2005-08-02 04:51:29]
moving everything to rector tomorrow, website contains all the latest .html and .jsp files of the crunch website, should be placed inside the root directory of the crunch web application in tomcat. interface_files may contain duplicates of files from the images dir, I'll take care of it. changes need to be made to the interface form
Filename
.classpath
.project
config/content extractor settings.ini
config/content.ini
src/psl/crunch3/web/Form.jsp
src/psl/crunch3/web/RegisterBean.java
src/psl/crunch3/web/RegisterServlet.java
src/psl/crunch3/web/SettingsServlet.java
website/Menu_tabs.xml
website/Register.jsp
website/WWWJ.pdf
website/about.htm
website/after.bmp
website/before.bmp
website/body.gif
website/body.png
website/borders.gif
website/box.gif
website/box1.gif
website/box1.psd
website/box2.gif
website/box2.psd
website/crunch.GIF
website/crunch.PNG
website/crunch.css
website/crunch2_icon.gif
website/ctapd.html
website/example.gif
website/example.psd
website/gail.jpg
website/hila.jpg
website/images/Thumbs.db
website/images/menu_r1_c1.gif
website/images/menu_r1_c1_f2.gif
website/images/menu_r1_c1_f3.gif
website/images/menu_r1_c2.gif
website/images/menu_r1_c2_f2.gif
website/images/menu_r1_c2_f3.gif
website/images/menu_r1_c3.gif
website/images/menu_r1_c3_f2.gif
website/images/menu_r1_c3_f3.gif
website/images/menu_r1_c4.gif
website/images/menu_r1_c4_f2.gif
website/images/menu_r1_c4_f3.gif
website/images/menu_r1_c5.gif
website/images/menu_r1_c5_f2.gif
website/images/menu_r1_c5_f3.gif
website/images/spacer.gif
website/index.html
website/interface.htm
website/interface.jsp
website/interface_files/crunch.css
website/interface_files/menu_r1_c1.gif
website/interface_files/menu_r1_c2.gif
website/interface_files/menu_r1_c3.gif
website/interface_files/menu_r1_c4.gif
website/interface_files/menu_r1_c5.gif
website/interface_files/spacer.gif
website/interface_files/title.png
website/jopth-abstract.htm
website/jopth-abstract.txt
website/jopth.pdf
website/menu.htm
website/menu.png
website/menuflash.fla
website/menuflash.swf
website/people.htm
website/publications.htm
website/register.htm
website/software.htm
website/spacer.gif
website/suhit.bmp
website/title.fla
website/title.htm
website/title.png
website/title.swf
website/www2003-abstract.htm
website/www2003-abstract.txt
website/www2003.pdf
website/www2004-abstract.htm
website/www2005-abstract.htm
website/www2005-abstract.txt
website/www2005.pdf
website/wwwj2004-abstract.txt
diff --git a/.classpath b/.classpath
index b2bcc31..713c13f 100644
--- a/.classpath
+++ b/.classpath
@@ -12,5 +12,7 @@
 	<classpathentry kind="lib" path="C:/Program Files/Tomcat 5.5/common/lib/servlet-api.jar"/>
 	<classpathentry kind="lib" path="C:/Program Files/Tomcat 5.5/common/lib/jasper-runtime.jar"/>
 	<classpathentry kind="lib" path="C:/Program Files/Tomcat 5.5/common/lib/jsp-api.jar"/>
+	<classpathentry kind="lib" path="C:/Program Files/Tomcat 5.5/common/lib/jstl.jar"/>
+	<classpathentry kind="lib" path="C:/Program Files/Tomcat 5.5/common/lib/standard.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/.project b/.project
index 4d48fd3..4089ee5 100644
--- a/.project
+++ b/.project
@@ -30,14 +30,9 @@
 			<location>C:/Program Files/Tomcat 5.5/webapps/Crunch/WEB-INF/classes</location>
 		</link>
 		<link>
-			<name>WEB-INF</name>
+			<name>Crunch_WebApp</name>
 			<type>2</type>
-			<location>C:/Program Files/Tomcat 5.5/webapps/Crunch/WEB-INF</location>
-		</link>
-		<link>
-			<name>website</name>
-			<type>2</type>
-			<location>C:/Documents and Settings/hb2143/Desktop/crunchsite_files</location>
+			<location>C:/Program Files/Tomcat 5.5/webapps/Crunch</location>
 		</link>
 	</linkedResources>
 </projectDescription>
diff --git a/config/content extractor settings.ini b/config/content extractor settings.ini
index 3fbe328..642ec10 100644
--- a/config/content extractor settings.ini
+++ b/config/content extractor settings.ini
@@ -1,42 +1,42 @@
 #Content Extractor Settings File
-#Fri Jul 29 14:17:03 EDT 2005
+#Sun Jul 31 18:45:28 EDT 2005
 <A>\ tags\ are\ substance=true
 <FORM>\ tags\ are\ substance=true
-Ignore\ Image\ Links=false
-Ignore\ Meta\ Tags=false
-Display\ Image\ Link\ ALTs=false
-Ignore\ Text\ Links=false
+Ignore\ Image\ Links=true
+Ignore\ Meta\ Tags=true
+Display\ Image\ Link\ ALTs=true
+Ignore\ Text\ Links=true
 <INPUT>\ tags\ are\ substance=true
-Ignore\ <IFRAME>\ Tags=false
+Ignore\ <IFRAME>\ Tags=true
 <BUTTON>\ tags\ are\ substance=true
-Ignore\ All\ Advertisements=false
+Ignore\ All\ Advertisements=true
 <SELECT>\ tags\ are\ substance=true
-Ignore\ External\ Stylesheets=false
+Ignore\ External\ Stylesheets=true
 <IFRAME>\ tags\ are\ substance=true
-Ignore\ <EMBED>\ tags=false
-Ignore\ Styles=false
-Ignore\ Only\ Links\ and\ Text\ in\ Link\ Lists=false
-Ignore\ <INPUT>\ Tags=false
-Ignore\ Flash=false
-Ignore\ Image\ Links\ in\ Link\ Lists=false
+Ignore\ <EMBED>\ tags=true
+Ignore\ Styles=true
+Ignore\ Only\ Links\ and\ Text\ in\ Link\ Lists=true
+Ignore\ <INPUT>\ Tags=true
+Ignore\ Flash=true
+Ignore\ Image\ Links\ in\ Link\ Lists=true
 <IMG>\ tags\ are\ substance=true
 <TEXTAREA>\ tags\ are\ substance=true
-Ignore\ Scripts=false
-Ignore\ Forms=false
-Display\ Image\ ALTs=false
+Ignore\ Scripts=true
+Ignore\ Forms=true
+Display\ Image\ ALTs=true
 Maximum\ Number\ of\ Line\ Breaks=2
-Ignore\ <BUTTON>\ Tags=false
+Ignore\ <BUTTON>\ Tags=true
 Limit\ Number\ of\ Line\ Breaks=false
-Ignore\ Style\ Attribute\ in\ <DIV>\ Tags=false
+Ignore\ Style\ Attribute\ in\ <DIV>\ Tags=true
 Ignore\ <NOSCRIPT>\ Tags=true
 Add\ removed\ links\ to\ bottom\ of\ the\ page=false
 Minimum\ text\ length\ as\ substance=12
-Remove\ Empty\ Tables=false
-Ignore\ Text\ Links\ in\ Link\ Lists=false
-Ignore\ Table\ Cell\ Widths=false
-Ignore\ Style\ Attributes=false
-Ignore\ <SELECT>\ Tags=false
-Ignore\ Link\ Lists=false
-Ignore\ Images=false
-Link/Text\ Removal\ Ratio=0.34
+Remove\ Empty\ Tables=true
+Ignore\ Text\ Links\ in\ Link\ Lists=true
+Ignore\ Table\ Cell\ Widths=true
+Ignore\ Style\ Attributes=true
+Ignore\ <SELECT>\ Tags=true
+Link/Text\ Removal\ Ratio=0.25
+Ignore\ Images=true
+Ignore\ Link\ Lists=true
 Print\ Only\ Text=false
diff --git a/config/content.ini b/config/content.ini
index 822d009..ff76c00 100644
--- a/config/content.ini
+++ b/config/content.ini
@@ -1,5 +1,5 @@
 #Content Extractor Settings File
-#Fri Jul 29 14:16:42 EDT 2005
+#Sun Jul 31 19:31:05 EDT 2005
 <A>\ tags\ are\ substance=true
 <FORM>\ tags\ are\ substance=true
 Ignore\ Image\ Links=false
@@ -31,7 +31,7 @@ Ignore\ Style\ Attribute\ in\ <DIV>\ Tags=false
 Ignore\ <NOSCRIPT>\ Tags=true
 Add\ removed\ links\ to\ bottom\ of\ the\ page=false
 Minimum\ text\ length\ as\ substance=12
-Remove\ Empty\ Tables=false
+Remove\ Empty\ Tables=true
 Ignore\ Text\ Links\ in\ Link\ Lists=false
 Ignore\ Table\ Cell\ Widths=false
 Ignore\ Style\ Attributes=false
diff --git a/src/psl/crunch3/web/Form.jsp b/src/psl/crunch3/web/Form.jsp
deleted file mode 100644
index 6562cc2..0000000
--- a/src/psl/crunch3/web/Form.jsp
+++ /dev/null
@@ -1,361 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
-<html>
-<head>
-<title>
-Sun Form, Invalid Input
-</title>
-</head>
-<jsp:useBean id="b" scope="session" class="project1.MyBean" />
-<body>
-<h1>
-Invalid Information
-</h1>
-<tr>
-<td valign="top"><!-- content area begin -->
-<table  cellpadding="0" cellspacing="0"><!--    <tr>
-     <td colspan="2"><img src="/sf2004/img/clear.gif" width="1" height="20" hspace="0" vspace="0"  /></td>
-    </tr> -->
-<tbody>
-<tr>
-<td colspan="2"><img src=
-"../../../../../../../Documents%20and%20Settings/hb2143/My%20Documents/CSE336/Project1/CSE336hw9/MailingList_files/mailing_list_title_bar.gif"  alt=""></td>
-</tr>
-
-<tr>
-<td class="t10"><img src="../../../../../../../Documents%20and%20Settings/hb2143/My%20Documents/CSE336/Project1/CSE336hw9/MailingList_files/clear.gif" width="10"
-height="1"  alt=""></td>
-<td class="t3">
-
-
-
-<form action="http://localhost:8080/MyApp/validate.xyz" method="get"
- name="form1" onsubmit="return check_form_universal();">
-<div><input type="hidden" name="recipient"
-value=<jsp:getProperty name="b" property="recipient"/>>
-<input type="hidden" name="thankyou"
-value=<jsp:getProperty name="b" property="thankYou"/>>
-<input type="hidden" name="form_mode"
-value=<jsp:getProperty name="b" property="formMode"/>> <input
-type="hidden" name="form_id"
-value=<jsp:getProperty name="b" property="formId"/>> <input type=
-"hidden" name="table_id" value=<jsp:getProperty name="b" property="tableId"/>>
- <input type=
-"hidden" name="_required" value="first_name,last_name"> <input
-type="hidden" name="_email" value=<jsp:getProperty name="b"
-property="hiddenEmail"/>> <input type="hidden"
-name="filepath" value=<jsp:getProperty name="b" property="filePath"/>>
-<input type="hidden" name="altfilename"
-value=<jsp:getProperty name="b" property="altFileName"/>> </div>
-
-<table width="100%"  cellspacing="0" cellpadding="0">
-<tbody>
-<tr>
-<td>Please Enter your information in the following fields.</td>
-</tr>
-</tbody>
-</table>
-<div>
-<br></div>
-
-
-<table width="450" class="tab1" >
-<tbody>
-<tr>
-<td class="t11">First Name:<br>
-<input type="text" name="first_name" size="30" maxlength="30"
-value=<jsp:getProperty name="b" property="firstName"/>></td>
-<td class="t11">Last Name:<br>
-<input type="text" name="last_name" size="30" maxlength="50"
-value=<jsp:getProperty name="b" property="lastName"/>></td>
-</tr>
-
-<tr>
-<td class="t11">Company:<br>
-<input type="text" name="company" size="30" maxlength="50"
-value= <jsp:getProperty name="b" property="company"/>><br>
-</td>
-<td class="t11">Title:<br>
-<input type="text" name="title" size="30" maxlength="80"
-value = <jsp:getProperty name="b" property="title"/>><br>
-</td>
-</tr>
-
-<tr>
-<td class="t11">Address:<br>
-<input type="text" name="address" size="30" maxlength="40"
-value =<jsp:getProperty name="b" property="address"/>></td>
-<td class="t11">City:<br>
-<input type="text" name="city" size="30" maxlength="50"
-value =<jsp:getProperty name="b" property="city"/>></td>
-</tr>
-
-<tr>
-<td class="t11">State: (US and Canada Only)<br>
- <select name="state">
-<option value="State" <%=b.stateSelectionAttr("State")%>>
-------Select a State or Province------</option>
-<option value="AL" <%=b.stateSelectionAttr("AL")%>>AL - Alabama</option>
-<option value="AK" <%=b.stateSelectionAttr("AK")%>>AK - Alaska</option>
-<option value="AZ" <%=b.stateSelectionAttr("AZ")%>>AZ - Arizona</option>
-<option value="AR" <%=b.stateSelectionAttr("AR")%>>AR - Arkansas</option>
-<option value="CA" <%=b.stateSelectionAttr("CA")%>>CA - California</option>
-<option value="CO" <%=b.stateSelectionAttr("CO")%>>CO - Colorado</option>
-<option value="CT" <%=b.stateSelectionAttr("CT")%>>CT - Connecticut</option>
-<option value="DE" <%=b.stateSelectionAttr("DE")%>>DE - Delaware</option>
-<option value="DC" <%=b.stateSelectionAttr("DC")%>>DC - District of Columbia</option>
-<option value="FL" <%=b.stateSelectionAttr("FL")%>>FL - Florida</option>
-<option value="GA" <%=b.stateSelectionAttr("GA")%>>GA - Georgia</option>
-<option value="HI" <%=b.stateSelectionAttr("HI")%>>HI - Hawaii</option>
-<option value="ID" <%=b.stateSelectionAttr("ID")%>>ID - Idaho</option>
-<option value="IL" <%=b.stateSelectionAttr("IL")%>>IL - Illinois</option>
-<option value="IN" <%=b.stateSelectionAttr("IN")%>>IN - Indiana</option>
-<option value="IA" <%=b.stateSelectionAttr("IA")%>>IA - Iowa</option>
-<option value="KS" <%=b.stateSelectionAttr("KS")%>>KS - Kansas</option>
-<option value="KY" <%=b.stateSelectionAttr("KY")%>>KY - Kentucky</option>
-<option value="LA" <%=b.stateSelectionAttr("LA")%>>LA - Louisiana</option>
-<option value="ME" <%=b.stateSelectionAttr("ME")%>>ME - Maine</option>
-<option value="MD" <%=b.stateSelectionAttr("MD")%>>MD - Maryland</option>
-<option value="MA" <%=b.stateSelectionAttr("MA")%>>MA - Massachusetts</option>
-<option value="MI" <%=b.stateSelectionAttr("MI")%>>MI - Michigan</option>
-<option value="MN" <%=b.stateSelectionAttr("MN")%>>MN - Minnesota</option>
-<option value="MS" <%=b.stateSelectionAttr("MS")%>>MS - Mississippi</option>
-<option value="MO" <%=b.stateSelectionAttr("MO")%>>MO - Missouri</option>
-<option value="MT" <%=b.stateSelectionAttr("MT")%>>MT - Montana</option>
-<option value="NE" <%=b.stateSelectionAttr("NE")%>>NE - Nebraska</option>
-<option value="NV" <%=b.stateSelectionAttr("NV")%>>NV - Nevada</option>
-<option value="NH" <%=b.stateSelectionAttr("NH")%>>NH - New Hampshire</option>
-<option value="NJ" <%=b.stateSelectionAttr("NJ")%>>NJ - New Jersey</option>
-<option value="NM" <%=b.stateSelectionAttr("NM")%>>NM - New Mexico</option>
-<option value="NY" <%=b.stateSelectionAttr("NY")%>>NY - New York</option>
-<option value="NC" <%=b.stateSelectionAttr("NC")%>>NC - North Carolina</option>
-<option value="ND" <%=b.stateSelectionAttr("ND")%>>ND - North Dakota</option>
-<option value="OH" <%=b.stateSelectionAttr("OH")%>>OH - Ohio</option>
-<option value="OK" <%=b.stateSelectionAttr("OK")%>>OK - Oklahoma</option>
-<option value="OR" <%=b.stateSelectionAttr("OR")%>>OR - Oregon</option>
-<option value="PA" <%=b.stateSelectionAttr("PA")%>>PA - Pennsylvania</option>
-<option value="PR" <%=b.stateSelectionAttr("PR")%>>PR - Puerto Rico</option>
-<option value="RI" <%=b.stateSelectionAttr("RI")%>>RI - Rhode Island</option>
-<option value="SC" <%=b.stateSelectionAttr("SC")%>>SC - South Carolina</option>
-<option value="SD" <%=b.stateSelectionAttr("SD")%>>SD - South Dakota</option>
-<option value="TN" <%=b.stateSelectionAttr("TN")%>>TN - Tennessee</option>
-<option value="TX" <%=b.stateSelectionAttr("TX")%>>TX - Texas</option>
-<option value="UT" <%=b.stateSelectionAttr("UT")%>>UT - Utah</option>
-<option value="VT" <%=b.stateSelectionAttr("VT")%>>VT - Vermont</option>
-<option value="VA" <%=b.stateSelectionAttr("VA")%>>VA - Virginia</option>
-<option value="WA" <%=b.stateSelectionAttr("WA")%>>WA - Washington</option>
-<option value="WV" <%=b.stateSelectionAttr("WV")%>>WV - West Virginia</option>
-<option value="WI" <%=b.stateSelectionAttr("WI")%>>WI - Wisconsin</option>
-<option value="WY" <%=b.stateSelectionAttr("WY")%>>WY - Wyoming</option>
-<option value="AB" <%=b.stateSelectionAttr("AB")%>>AB - Alberta</option>
-<option value="BC" <%=b.stateSelectionAttr("BC")%>>BC - British Columbia</option>
-<option value="MB" <%=b.stateSelectionAttr("MB")%>>MB - Manitoba</option>
-<option value="NB" <%=b.stateSelectionAttr("NB")%>>NB - New Brunswick</option>
-<option value="NF" <%=b.stateSelectionAttr("NF")%>>NF - Newfoundland</option>
-<option value="NS" <%=b.stateSelectionAttr("NS")%>>NS - Nova Scotia</option>
-<option value="NT" <%=b.stateSelectionAttr("NT")%>>NT - Northwest Territories</option>
-<option value="ON" <%=b.stateSelectionAttr("ON")%>>ON - Ontario</option>
-<option value="PE" <%=b.stateSelectionAttr("PE")%>>PE - Prince Edward Island</option>
-<option value="QC" <%=b.stateSelectionAttr("QC")%>>QC - Quebec</option>
-<option value="SK" <%=b.stateSelectionAttr("SK")%>>SK - Saskatchewan</option>
-<option value="YT" <%=b.stateSelectionAttr("YT")%>>YT - Yukon</option>
-<option value="other" <%=b.stateSelectionAttr("other")%>>Other</option>
-<option value="none" <%=b.stateSelectionAttr("none")%>>None</option>
-</select> </td>
-<td class="t11">Zip/Postal Code:<br>
-<input type="text" name="zip" size="10" maxlength="30"
-value=<jsp:getProperty name="b" property="zipCode"/>></td>
-</tr>
-
-<tr>
-<td class="t11">Email Address:<br>
-<input type="text" name="email" size="30" maxlength="150"
-value=<jsp:getProperty name="b" property="email"/>></td>
-<td class="t11">Country:<br>
- <select name="country">
-<option value="gnar">------------Select A
-Country--------------</option>
-<option value="Afghanistan">Afghanistan</option>
-<option value="Albania">Albania</option>
-<option value="Algeria">Algeria</option>
-<option value="Antigua">Antigua</option>
-<option value="Argentina">Argentina</option>
-<option value="Armenia">Armenia</option>
-<option value="Australia">Australia</option>
-<option value="Austria">Austria</option>
-<option value="Bahamas">Bahamas</option>
-<option value="Bangladesh">Bangladesh</option>
-<option value="Barbados">Barbados</option>
-<option value="Belarus">Belarus</option>
-<option value="Belgium">Belgium</option>
-<option value="Belize">Belize</option>
-<option value="Benin">Benin</option>
-<option value="Bolivia">Bolivia</option>
-<option value="Bosnia">Bosnia</option>
-<option value="Brazil">Brazil</option>
-<option value="Brunei">Brunei</option>
-<option value="Bulgaria">Bulgaria</option>
-<option value="Burundi">Burundi</option>
-<option value="Cambodia">Cambodia</option>
-<option value="Canada">Canada</option>
-<option value="Cape Verde">Cape Verde</option>
-<option value="Central A. R.">Central A. R.</option>
-<option value="Chad">Chad</option>
-<option value="Chile">Chile</option>
-<option value="China">China</option>
-<option value="Columbia">Columbia</option>
-<option value="Congo">Congo</option>
-<option value="Costa Rica">Costa Rica</option>
-<option value="Croatia">Croatia</option>
-<option value="Cuba">Cuba</option>
-<option value="Cyprus">Cyprus</option>
-<option value="Czech Republic">Czech Republic</option>
-<option value="Denmark">Denmark</option>
-<option value="Dominican Republic">Dominican Republic</option>
-<option value="Ecuador">Ecuador</option>
-<option value="El Salvador">El Salvador</option>
-<option value="Egypt">Egypt</option>
-<option value="Equitorial Guinea">Equitorial Guinea</option>
-<option value="Ethiopia">Ethiopia</option>
-<option value="Fiji">Fiji</option>
-<option value="Finland">Finland</option>
-<option value="France">France</option>
-<option value="Germany">Germany</option>
-<option value="Greece">Greece</option>
-<option value="Greneda">Greneda</option>
-<option value="Guatemala">Guatemala</option>
-<option value="Guinea">Guinea</option>
-<option value="Haiti">Haiti</option>
-<option value="Honduras">Honduras</option>
-<option value="Hungary">Hungary</option>
-<option value="Iceland">Iceland</option>
-<option value="India">India</option>
-<option value="Indonesia">Indonesia</option>
-<option value="Iran">Iran</option>
-<option value="Iraq">Iraq</option>
-<option value="Ireland">Ireland</option>
-<option value="Israel">Israel</option>
-<option value="Italy">Italy</option>
-<option value="Ivory Coast">Ivory Coast</option>
-<option value="Jamaica">Jamaica</option>
-<option value="Japan">Japan</option>
-<option value="Jordan">Jordan</option>
-<option value="Kenya">Kenya</option>
-<option value="Korea">Korea</option>
-<option value="Laos">Laos</option>
-<option value="Lebanon">Lebanon</option>
-<option value="Liberia">Liberia</option>
-<option value="Libya">Libya</option>
-<option value="Lithuania">Lithuania</option>
-<option value="Luxemberg">Luxemberg</option>
-<option value="Macedonia">Macedonia</option>
-<option value="Madagascar">Madagascar</option>
-<option value="Malawi">Malawi</option>
-<option value="Malaysia">Malaysia</option>
-<option value="Mexico">Mexico</option>
-<option value="Moldova">Moldova</option>
-<option value="Mongolia">Mongolia</option>
-<option value="Morocco">Morocco</option>
-<option value="Nepal">Nepal</option>
-<option value="Netherlands">Netherlands</option>
-<option value="New Zealand">New Zealand</option>
-<option value="Nicaragua">Nicaragua</option>
-<option value="Niger">Niger</option>
-<option value="Nigeria">Nigeria</option>
-<option value="Norway">Norway</option>
-<option value="Oman">Oman</option>
-<option value="Pakistan">Pakistan</option>
-<option value="Panama">Panama</option>
-<option value="Papua New Guinea">Papua New Guinea</option>
-<option value="Paraguay">Paraguay</option>
-<option value="Peru">Peru</option>
-<option value="Philippines">Philippines</option>
-<option value="Poland">Poland</option>
-<option value="Portugal">Portugal</option>
-<option value="Qatar">Qatar</option>
-<option value="Romania">Romania</option>
-<option value="Russia">Russia</option>
-<option value="Rwanda">Rwanda</option>
-<option value="Samoa">Samoa</option>
-<option value="Saudi Arabia">Saudi Arabia</option>
-<option value="Serbia">Serbia</option>
-<option value="Singapore">Singapore</option>
-<option value="Slovenia">Slovenia</option>
-<option value="Slovokia">Slovokia</option>
-<option value="Somalia">Somalia</option>
-<option value="South Africa">South Africa</option>
-<option value="Spain">Spain</option>
-<option value="Sudan">Sudan</option>
-<option value="Swaziland">Swaziland</option>
-<option value="Sweden">Sweden</option>
-<option value="Switzerland">Switzerland</option>
-<option value="Syria">Syria</option>
-<option value="Taiwan">Taiwan</option>
-<option value="Tanzania">Tanzania</option>
-<option value="Thailand">Thailand</option>
-<option value="Tunisia">Tunisia</option>
-<option value="Turkey">Turkey</option>
-<option value="Uganda">Uganda</option>
-<option value="United Kingdom">United Kingdom</option>
-<option value="Ukraine">Ukraine</option>
-<option value="Uruguay">Uruguay</option>
-<option value="United States" selected="selected">United
-States</option>
-<option value="Venezuela">Venezuela</option>
-<option value="Vietnam">Vietnam</option>
-<option value="Yemen">Yemen</option>
-<option value="Zambia">Zambia</option>
-<option value="Zimbabwe">Zimbabwe</option>
-<option value="Other">Other</option>
-</select> </td>
-</tr>
-
-<tr valign="top">
-<td class="t11">Telephone:<br>
-<input type="text" name="telephone" size="20" maxlength="30"
-value=<jsp:getProperty name="b" property="telephone"/>></td>
-<td class="t11">Fax:<br>
-<input type="text" name="fax" size="20" maxlength="20"
-value=<jsp:getProperty name="b" property="fax"/>></td>
-</tr>
-
-<tr>
-<td colspan="3">Sun may use this information to contact me:<br>
- <select name="info_to_contact">
-<option value="Yes" <%=b.contactSelectionAttr("Yes")%>>Yes</option>
-<option value="No" <%=b.contactSelectionAttr("No")%>>No</option>
-</select> <br>
-<br>
- Sun may share this information with its business associates to
-contact me:<br>
- <select name="info_share">
-<option value="Yes" <%=b.shareSelectionAttr("Yes")%>>Yes</option>
-<option value="No" <%=b.shareSelectionAttr("No")%>>No</option>
-</select> <br>
-<br>
- Sun Microsystems respects your desire for privacy. Data collected
-from this form will not be sold to organizations external to Sun
-without your consent. We may use this data for communications with
-you of product announcements, program information, events, or other
-related Sun activities. We may also share this data with our
-business associates to bring you a wider range of information. If
-you do not wish to be contacted by Sun or its business associates,
-please answer the following questions on this form accordingly. If
-you have any questions, please refer to our <a href=
-"http://www.sun.com/privacy/index.html">Privacy Policy</a> <br>
-<br>
-<input type="submit" name=".submit" value="Submit">&nbsp;<input
-type="reset" name="reset"></td>
-</tr>
-</tbody>
-</table>
-</form>
-</td>
-</tr>
-</tbody>
-</table>
-
-<jsp:include page="/footer.html"/>
-
-
-</body>
-</html>
diff --git a/src/psl/crunch3/web/RegisterBean.java b/src/psl/crunch3/web/RegisterBean.java
new file mode 100644
index 0000000..5ebdecf
--- /dev/null
+++ b/src/psl/crunch3/web/RegisterBean.java
@@ -0,0 +1,235 @@
+package psl.crunch3.web;
+
+import java.io.*;
+import java.sql.*;
+
+public class RegisterBean implements Serializable{
+
+	private String firstName, lastName, email;
+	private String username, password;
+	private String repeat, firstValid, lastValid, emailValid, userValid,passValid;
+
+
+	public void setFirstName(String newName){
+		firstName = newName;
+	}
+
+	public void setLastName(String newName){
+		lastName = newName;
+	}
+
+	public void setEmail(String address){
+		email = address;
+	}
+
+	public void setPassword(String newPass){
+		password = newPass.trim();
+	}
+
+	public void setUsername(String name){
+		username = name;
+	}
+
+	public String getUsername(){
+		return username;
+	}
+
+	public String getPassword(){
+		return password;
+	}
+
+	public String getEmail(){
+		return email;
+	}
+
+	public String getFirstName(){
+		return firstName;
+	}
+
+	public String getLastName(){
+		return lastName;
+	}
+
+	public String getRepeat(){
+		return repeat;
+	}
+
+	public String getFirstValid(){
+		return firstValid;
+	}
+	public String getLastValid(){
+		return lastValid;
+	}
+	public String getEmailValid(){
+		return emailValid;
+	}
+	public String getPassValid(){
+		return passValid;
+	}
+	public String getUserValid(){
+		return userValid;
+	}
+
+	//TODO: write a method to write to database, check that there are no duplicates
+	//reading from file for now
+
+
+	/** form validation methods **/
+
+	public boolean verifyPassword(String repeatPass){
+
+		boolean b = password.equals(repeatPass.trim());
+		repeat = Boolean.toString(!b);
+		return b;
+
+	}
+
+	public boolean isFirstNameValid(){
+	     if (firstName ==null) return false;
+	     if (firstName != null){
+	         if(firstName.equals(""))
+	           return false;
+	     }
+	     return true;
+	   }
+
+	 public boolean isLastNameValid(){
+	     if (lastName ==null) return false;
+	     if (lastName != null){
+	         if(lastName.equals(""))
+	           return false;
+	     }
+	     return true;
+	 }
+
+	 public boolean isPasswordValid(){
+		 if (password ==null) return false;
+	     if (password != null){
+	         if(password.equals(""))
+	           return false;
+	     }
+	     return true;
+	 }
+
+	 public boolean isEmailValid(){
+	     if (email ==null) return false;
+	     if (email != null){
+	         if(email.equals(""))
+	           return false;
+	         if (email.indexOf("@") == -1) return false;
+	     }
+	     return true;
+
+	   }
+
+	 public boolean isUsernameValid(){
+	     if (username ==null) return false;
+	     if (username != null){
+	         if(username.equals(""))
+	           return false;
+
+	     }
+	     return true;
+
+	   }
+
+	 public boolean isValid(){
+
+		 firstValid="true";
+		 lastValid = "true";
+		 emailValid="true";
+		 userValid= "true";
+		 passValid= "true";
+
+		 if(!isFirstNameValid()){
+			 firstValid="false";
+			 password = "";
+			 return false;
+		 }
+		 if(!isLastNameValid()){
+			 lastValid = "false";
+			 password = "";
+			 return false;
+		 }
+		 if(!isEmailValid()){
+			 emailValid="false";
+			 password = "";
+			 return false;
+		 }
+		 if(!isPasswordValid()){
+			 passValid= "false";
+			 password = "";
+			 return false;
+		 }
+		 if(!isUsernameValid()){
+			 userValid= "false";
+			 password = "";
+			 return false;
+		 }
+
+		 return true;
+	 }
+
+
+	 /**
+	  * adds the user to the user table of the crunch DB
+	  * @return
+	  */
+	 public boolean writeToDB(){
+
+		 Statement stmt = null;
+		 ResultSet rs = null;
+
+		 try {
+
+			 //Register the JDBC driver for MySQL.
+			 //Class.forName("com.mysql.jdbc.Driver");
+
+
+			 String url = "jdbc:mysql://localhost:3306/mysql";
+
+
+
+	            Connection conn = DriverManager.getConnection(url, "admin", "CrTH3W#cH");
+	            stmt = conn.createStatement();
+	            //rs = stmt.executeQuery("");
+
+	     }
+		 catch (Exception ex) {
+	            return false;
+	     }
+		 finally {
+			    // it is a good idea to release
+			    // resources in a finally{} block
+			    // in reverse-order of their creation
+			    // if they are no-longer needed
+
+			    if (rs != null) {
+			        try {
+			            rs.close();
+			        } catch (SQLException sqlEx) { // ignore }
+
+			        rs = null;
+			    }
+
+			    if (stmt != null) {
+			        try {
+			            stmt.close();
+			        } catch (SQLException sqlEx) { // ignore }
+
+			        stmt = null;
+			    }
+			}
+		  }
+		}
+
+
+		 return true;
+	 }
+
+
+
+	 public boolean login(){
+		 return true;
+	 }
+}
diff --git a/src/psl/crunch3/web/RegisterServlet.java b/src/psl/crunch3/web/RegisterServlet.java
new file mode 100644
index 0000000..5898a7b
--- /dev/null
+++ b/src/psl/crunch3/web/RegisterServlet.java
@@ -0,0 +1,80 @@
+package psl.crunch3.web;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import java.io.*;
+import java.util.*;
+
+public class RegisterServlet extends HttpServlet{
+
+	private static final String CONTENT_TYPE = "text/html";
+	private static final String DOC_TYPE =
+	      "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"" +
+	      " \"http://www.w3.org/TR/html4/strict.dtd\">";
+
+	//Initialize global variables
+	  public void init() throws ServletException {
+	  }
+
+
+
+
+
+	  //Process the HTTP Get request
+	  public void doGet(HttpServletRequest request, HttpServletResponse response)
+	      throws ServletException, IOException {
+
+		//get the bean for this session
+	    HttpSession s = request.getSession(true);
+	    RegisterBean rb = (RegisterBean)s.getAttribute("information");
+	    if (rb==null){
+	      rb = new RegisterBean();
+	      s.setAttribute("rb", rb);
+	    }
+
+
+	    //store form data in bean variables
+	    rb.setFirstName((request.getParameter("firstname")));
+	    rb.setLastName((request.getParameter("lastname")));
+	    rb.setEmail((request.getParameter("email")));
+	    rb.setUsername((request.getParameter("username")));
+	    rb.setPassword((request.getParameter("password")));
+
+	    //error checking
+	    //check if the password entered a second time is the same as the original password
+	    if (!rb.isValid()){
+	    	RequestDispatcher r = getServletContext().getRequestDispatcher(
+	          "/Register.jsp");
+	        r.forward(request, response);
+
+	    }
+	    else if(!rb.verifyPassword(request.getParameter("confirmpass"))){
+	    	RequestDispatcher r = getServletContext().getRequestDispatcher(
+	          "/Register.jsp");
+	        r.forward(request, response);
+	    }
+	    else{
+	    	response.setContentType(CONTENT_TYPE);
+
+	        PrintWriter out = response.getWriter();
+	        out.println(DOC_TYPE);
+	        out.println("<html>");
+	        out.println("<head> <title>" + "</title> </head>");
+	        out.println("<body> <H2> " + "Changes Submitted</H2> </body></html>");
+
+	    }
+
+
+	  }
+
+
+
+	  //Process the HTTP Post request
+	  public void doPost(HttpServletRequest request, HttpServletResponse response)
+	      throws ServletException, IOException {
+	    doGet(request, response);
+	  }
+
+
+}
diff --git a/src/psl/crunch3/web/SettingsServlet.java b/src/psl/crunch3/web/SettingsServlet.java
index 062d892..a378609 100644
--- a/src/psl/crunch3/web/SettingsServlet.java
+++ b/src/psl/crunch3/web/SettingsServlet.java
@@ -3,7 +3,6 @@ package psl.crunch3.web;
 import javax.servlet.*;
 import javax.servlet.http.*;
 import java.io.*;
-import java.util.*;

 public class SettingsServlet extends HttpServlet {
   private static final String CONTENT_TYPE = "text/html";
diff --git a/website/Menu_tabs.xml b/website/Menu_tabs.xml
new file mode 100644
index 0000000..3c9874f
--- /dev/null
+++ b/website/Menu_tabs.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<NAV main_onColor="#000000" main_offColor="#666666" sub_onColor="#000000" sub_offColor="#ffffff" navWidth="740" x_padding="50" y_padding="10">
+   <MAIN text="About">
+
+   </MAIN>
+    <MAIN text="People">
+
+   </MAIN>
+   <MAIN text="Publications">
+
+   </MAIN>
+   <MAIN text="Software">
+      <SUB title="Download">
+
+	  </SUB>
+	  <SUB title="Hmmmm">
+
+	  </SUB>
+   </MAIN>
+   <MAIN text="Register">
+
+   </MAIN>
+
+</NAV>
\ No newline at end of file
diff --git a/website/Register.jsp b/website/Register.jsp
new file mode 100644
index 0000000..a021b5a
--- /dev/null
+++ b/website/Register.jsp
@@ -0,0 +1,199 @@
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<jsp:useBean id="rb" scope="session" class="psl.crunch3.web.RegisterBean" />
+<title>Crunch - Register </title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>Register</h1>
+
+      <p>&nbsp;</p>
+
+
+
+
+      <form name="form1" method="post" action="register.html">
+        <table width="487">
+          <tr>
+		  <td>First Name</td>
+            <td><input type="text" name="firstname" value=<c:choose> <c:when test="${rb.firstValid =='true'}">
+   				<jsp:getProperty name="rb" property="firstName"/>
+			</c:when> <c:otherwise>""</c:otherwise> </c:choose>  > <c:if test="${rb.firstValid =='false'}">
+   				<font color="#FF0000"> * </font>
+			</c:if>
+			  </td>
+		  </tr>
+          <tr><td>Last Name</td>
+            <td><input type="text" name="lastname" value= <c:choose> <c:when test="${rb.lastValid =='true'}">
+   				<jsp:getProperty name="rb" property="lastName"/>
+			</c:when> <c:otherwise>""</c:otherwise> </c:choose> > <c:if test="${rb.lastValid =='false'}">
+   				<font color="#FF0000"> * </font>
+			</c:if>
+			</td></tr>
+
+			<tr>
+			<td>Email Address</td>
+            <td><input type="text" name="email" value=<c:choose><c:when test="${rb.emailValid =='true'}">
+   				<jsp:getProperty name="rb" property="email"/>
+			</c:when> <c:otherwise>""</c:otherwise> </c:choose> > <c:if test="${rb.emailValid =='false'}">
+   				<font color="#FF0000"> * </font>
+			</c:if>
+			</td></tr>
+
+			<tr><td>Username</td>
+            <td><input type="text" name="username" value=<c:choose><c:when test="${rb.userValid =='true'}">
+   				<jsp:getProperty name="rb" property="username"/>
+			</c:when> <c:otherwise>""</c:otherwise> </c:choose> > <c:if test="${rb.userValid =='false'}">
+   				<font color="#FF0000"> * </font>
+			</c:if></td></tr>
+
+			<tr><td>
+            Password</td>
+            <td><input name="password" type="password" value=""> <c:choose><c:when test="${rb.repeat=='true'}">
+   				<font color="#FF0000"> * </font>
+			</c:when><c:otherwise> <c:if test="${rb.passValid =='false'}">
+   				<font color="#FF0000"> * </font>
+			</c:if> </c:otherwise> </c:choose></td></tr>
+
+
+
+            <tr><td> Confirm Password</td>
+            <td>
+
+
+            <input type="password" name="confirmpass" value="">
+			<c:if test="${rb.repeat=='true'}">
+   				<font color="#FF0000"> * </font>
+			</c:if>
+
+            </td></tr>
+			</tbody>
+          </table>
+
+        <div align="right"><br/>
+        </div>
+        <div align="right">
+          <input name="submit" type="submit" value="submit">
+        </div>
+      </form>
+
+
+      <p><c:if test="${rb.repeat=='true'}">
+   				<font color="#FF0000"> * Please enter and confirm your password </font>
+			</c:if></p>
+      <p><c:if test="${rb.firstValid=='false'}">
+   				<font color="#FF0000"> * Please enter your first Name </font>
+			</c:if></p>
+	  <p><c:if test="${rb.lastValid=='false'}">
+   				<font color="#FF0000"> * Please enter your last Name </font>
+			</c:if></p>
+	  <p><c:if test="${rb.emailValid=='false'}">
+   				<font color="#FF0000"> * Please enter a valid email address </font>
+			</c:if></p>
+	  <p><c:if test="${rb.userValid=='false'}">
+   				<font color="#FF0000"> * Please choose another username </font>
+			</c:if></p>
+	  <p><c:if test="${rb.passValid=='false'}">
+   				<font color="#FF0000"> * Please enter a password </font>
+	  </c:if></p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/WWWJ.pdf b/website/WWWJ.pdf
new file mode 100644
index 0000000..150c34e
Binary files /dev/null and b/website/WWWJ.pdf differ
diff --git a/website/about.htm b/website/about.htm
new file mode 100644
index 0000000..3c1df53
--- /dev/null
+++ b/website/about.htm
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>About Crunch</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>About Crunch</h1>
+
+      <p>&nbsp;</p>
+	  <table bgcolor="#FFFFFF">
+        <tr>
+          <td width="336"> <p> Web pages may often contain &#8220;clutter&#8221;
+              (defined by us as unnecessary images, navigational menus and extraneous
+              links) around the body of an article that may distract a user from
+              actual content. Extraction of &#8220;useful and relevant&#8221;
+              content from web pages has many applications, including speech rendering
+              for the visually disabled, cell phone and PDA browsing, and text
+              summarization. Most existing approaches to making content more directly
+              accessible involve changing font size or removing HTML and data
+              components such as images, which may take away from a webpage&#8217;s
+              inherent look and feel. Unlike &#8220;Content Reformatting&#8221;,
+              which aims to reproduce the entire webpage in a more convenient
+              form, our solution directly addresses &#8220;Content Extraction&#8221;.</p>
+            <p><br>
+              We introduce Crunch, a framework that employs an easily extensible
+              set of techniques, for enabling and integrating heuristics concerned
+              with &#8220;content extraction&#8221; from HTML web pages. Crunch
+              is implemented as a transparent web proxy and is practically usable
+              by end-users. </p>
+          </td>
+          <td width="368"><div align="center"><img src="crunch.PNG"></div></td>
+        </tr>
+      </table>
+	  <p>&nbsp;</p>
+
+      <p>We
+        use DOM tree based content extraction rather than directly processing
+        HTML as flat files. Crunch is a versatile solution, allowing programmers
+        and administrators to add heuristics to the framework. These heuristics
+        act as filters that can be parameterized and toggled to perform the content
+        extraction. Crunch reduces human involvement in the application of thresholds
+        for the heuristics by automatically detecting and utilizing the content
+        genre (context) of a given website. Genre detection is accomplished via
+        the use of frequency distributions of words associated with the webpages.
+        These distributions are used to improve the extraction process by comparing
+        them to previously known results that work well for certain genres of
+        sites and utilizing those settings.</p>
+      <p><br>
+        <br>
+        <br>
+      </p>
+		<p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/after.bmp b/website/after.bmp
new file mode 100644
index 0000000..47754ba
Binary files /dev/null and b/website/after.bmp differ
diff --git a/website/before.bmp b/website/before.bmp
new file mode 100644
index 0000000..cf77cca
Binary files /dev/null and b/website/before.bmp differ
diff --git a/website/body.gif b/website/body.gif
new file mode 100644
index 0000000..a303a4d
Binary files /dev/null and b/website/body.gif differ
diff --git a/website/body.png b/website/body.png
new file mode 100644
index 0000000..af596f3
Binary files /dev/null and b/website/body.png differ
diff --git a/website/borders.gif b/website/borders.gif
new file mode 100644
index 0000000..58eed26
Binary files /dev/null and b/website/borders.gif differ
diff --git a/website/box.gif b/website/box.gif
new file mode 100644
index 0000000..3070c1b
Binary files /dev/null and b/website/box.gif differ
diff --git a/website/box1.gif b/website/box1.gif
new file mode 100644
index 0000000..6b171b0
Binary files /dev/null and b/website/box1.gif differ
diff --git a/website/box1.psd b/website/box1.psd
new file mode 100644
index 0000000..8e2b0c8
Binary files /dev/null and b/website/box1.psd differ
diff --git a/website/box2.gif b/website/box2.gif
new file mode 100644
index 0000000..2391b39
Binary files /dev/null and b/website/box2.gif differ
diff --git a/website/box2.psd b/website/box2.psd
new file mode 100644
index 0000000..a02f99a
Binary files /dev/null and b/website/box2.psd differ
diff --git a/website/crunch.GIF b/website/crunch.GIF
new file mode 100644
index 0000000..f04390d
Binary files /dev/null and b/website/crunch.GIF differ
diff --git a/website/crunch.PNG b/website/crunch.PNG
new file mode 100644
index 0000000..3058760
Binary files /dev/null and b/website/crunch.PNG differ
diff --git a/website/crunch.css b/website/crunch.css
new file mode 100644
index 0000000..3560eb8
--- /dev/null
+++ b/website/crunch.css
@@ -0,0 +1,84 @@
+body { background-color: #84939A;
+     text-align:center;
+}
+
+div#wrapper {
+text-align:left;
+width:740px;
+align: center;
+}
+
+div#main { background-color: white;
+           height: 800px;
+		   width: 740px;
+}
+
+a:link {font-weight: bold;
+		color: black;
+		text-decoration: none;}
+
+a:visited {
+		font-weight: bold;
+		color: black;
+		text-decoration: none;
+}
+
+a:hover {color: #FDC255}
+
+
+
+.box {
+		padding:0 12px 0 0;
+		background:#84939A url(borders.gif) 100% 0 repeat-y;
+	}
+	.bi {
+		padding:0 0 0 12px;
+		background:#fff url(borders.gif) 0 0 repeat-y;
+	}
+	.bt {
+		height:17px;
+		margin:0 -12px;
+		background:url(box2.gif) 100% 0 no-repeat;
+	}
+	.bt div {
+		width:18px;
+		height:17px;
+		background:url(box2.gif) 0 0 no-repeat;
+	}
+	.bb {
+		height:17px;
+		margin:0 -12px;
+		background:url(box2.gif) 100% 100% no-repeat;
+	}
+	.bb div {
+		width:18px;
+		height:17px;
+		background:url(box2.gif) 0 100% no-repeat;
+	}
+	.box h1 {
+		margin:0;
+		padding:0.3em 10px;
+		background:#FDC255;
+		font:bold 1.2em/1 Arial, Helvetica, sans-serif;
+	}
+	.box p, .box ul, .box table , .box form{
+		margin:0;
+		padding:4px 10px;
+		background:#fff;
+	}
+	.box li {
+		margin:0 0 0 2em;
+		padding:20px;
+		background:#fff;
+	}
+
+	.box image {
+
+		background:#fff;
+	}
+
+	td.settd {
+		width: 50%;
+		height: 20px;
+
+	}
\ No newline at end of file
diff --git a/website/crunch2_icon.gif b/website/crunch2_icon.gif
new file mode 100644
index 0000000..a924117
Binary files /dev/null and b/website/crunch2_icon.gif differ
diff --git a/website/ctapd.html b/website/ctapd.html
new file mode 100644
index 0000000..43b2166
--- /dev/null
+++ b/website/ctapd.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0048)http://www.psl.cs.columbia.edu/crunch/ctapd.html -->
+<HTML><HEAD><TITLE>CRUNCH ? Web-based Collaboration for Persons with Disabilities</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=utf-8">
+<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
+<BODY>
+<CENTER><FONT size=3><B>CRUNCH ? Web-based Collaboration for Persons with
+Disabilities</B></FONT><BR><FONT size=2>Suhit Gupta, Gail Kaiser <A
+href="mailto:{suhit|kaiser}@cs.columbia.edu">{suhit|kaiser}@cs.columbia.edu</A><BR>Columbia
+University, Dept. of Computer Science</FONT></CENTER><FONT size=2>
+<P><U>Use case</U>: Some members of a group of researchers are disabled. The
+group is collaborating on a project and is using a threading-enabled web-based
+message board for communication. However, since some of the researchers are
+disabled, they use screen readers, text magnifiers or voice-to-text engines in
+order to participate. These varied resources may be inconvenient and may hinder
+the user from participating conveniently and fully. With screen readers, the
+user would have to listen to large amounts of extra information on the webboard
+before gaining access to the information he/she is seeking. Similarly, text
+magnifiers increase not only the size of the text that the user wants, but also
+the text that he/she isn?t interested in or has already read. Lastly, in case of
+annotations and replies to previously posted messages, the user may have to
+start scanning from the beginning of the message board to read the latest
+additions, which would be excessively time consuming.
+<P><U>Our Research</U>: Collaboration with disabled members of the group may be
+difficult since the formats in which data can be displayed are inappropriate.
+For example, both the message board itself as well as the web pages they link to
+may contain clutter, such as pop-up ads, unnecessary images and extraneous links
+around the body of an article that distract a user from actual content.
+Additionally, messages, annotations and replies to team members? messages are
+rarely posted in real time and usually require team members to go back to the
+message to look for replies. Participants using tools designed for the disabled
+would have to tediously scan through the entire message board for messages with
+additions. In order to solve this problem, one may trivially design different
+versions of the same message board, each specifically suited for the user. But
+we believe that for good collaborative work to take place, it is imperative to
+create a system that can be used simply by all members of a team in a WYSIWIS
+(what you see is what I see) format. It should not only support all the advanced
+features of the message board, but also make the space simple and easily
+?accessible? for all users.
+<P>Content Extraction of the ?useful and relevant? parts from web pages has many
+applications, including cell phone and PDA browsing, speech rendering for the
+visually impaired, and text summarization. Most approaches to removing clutter
+or making content more readable involve changing font size or removing HTML and
+data components such as images, which takes away from a webpage?s inherent look
+and feel. Unlike ?Content Reformatting?, which aims to reproduce the entire
+webpage in a more convenient form, our solution directly addresses Content
+Extraction. We have developed a framework that employs an easily extensible set
+of techniques that incorporate advantages of previous work on content
+extraction. Our key insight is to work with the Document Object Model tree,
+rather than with raw HTML markup. We have implemented our approach in a publicly
+available Web proxy to extract content from HTML web pages.
+<P>In order to analyze a web page for content extraction, the page is first
+passed through an HTML parser that corrects the HTML and creates a Document
+Object Model tree representation of the web page. Once processed, the resulting
+DOM document can be seamlessly shown as a webpage to the end-user as if it were
+HTML. The DOM tree is hierarchically arranged and can be analyzed in sections or
+as a whole, providing a wide range of flexibility for our extraction algorithm.
+Our content extractor then navigates the DOM tree recursively, using a series of
+different filtering techniques to remove and modify specific nodes and leave
+only the content behind. There are two sets of filters, with different levels of
+granularity. The first set of filters simply disregards tags or specific
+attributes within tags. These filters allow images, links, scripts, styles, and
+other such elements to be quickly removed from the web page. The second set of
+filters is more complex and algorithmic, consisting of the advertisement
+remover, the link list remover, the empty table remover, and the removed link
+retainer.
+<P>CRUNCH is implemented as a proxy that filters webpages before they are loaded
+into the users? browsers. It simply treats webpages as an accordion, removing
+less or more extraneous content from a webpage based on the user?s settings. The
+server version is multi-threaded and can support multiple clients with different
+settings. Therefore a participant has the option of looking at the message board
+without any reductions in the ?clutter? on the screen, while a disabled
+participant can tune his/her proxy to look only at the content of the page. The
+proxy is also fitted with an event monitoring system that keeps track of changes
+to the website. Therefore, disabled as well as non-disabled users can either be
+notified only of the changes (along with the context of the change and the
+related messages to the responses and annotations). If a participant joins the
+message board late, then the event notification system can call on Natural
+Language Processing summarization algorithms to give a quick summary of all the
+changes that have taken place to bring the user up to speed. The results will
+still be piped through the proxy in order to display the changes efficiently.
+</FONT></P></BODY></HTML>
diff --git a/website/example.gif b/website/example.gif
new file mode 100644
index 0000000..62561a0
Binary files /dev/null and b/website/example.gif differ
diff --git a/website/example.psd b/website/example.psd
new file mode 100644
index 0000000..1b639fe
Binary files /dev/null and b/website/example.psd differ
diff --git a/website/gail.jpg b/website/gail.jpg
new file mode 100644
index 0000000..3b830b7
Binary files /dev/null and b/website/gail.jpg differ
diff --git a/website/hila.jpg b/website/hila.jpg
new file mode 100644
index 0000000..94ad46c
Binary files /dev/null and b/website/hila.jpg differ
diff --git a/website/images/Thumbs.db b/website/images/Thumbs.db
new file mode 100644
index 0000000..2fa063e
Binary files /dev/null and b/website/images/Thumbs.db differ
diff --git a/website/images/menu_r1_c1.gif b/website/images/menu_r1_c1.gif
new file mode 100644
index 0000000..71671f4
Binary files /dev/null and b/website/images/menu_r1_c1.gif differ
diff --git a/website/images/menu_r1_c1_f2.gif b/website/images/menu_r1_c1_f2.gif
new file mode 100644
index 0000000..ee88bdc
Binary files /dev/null and b/website/images/menu_r1_c1_f2.gif differ
diff --git a/website/images/menu_r1_c1_f3.gif b/website/images/menu_r1_c1_f3.gif
new file mode 100644
index 0000000..ee88bdc
Binary files /dev/null and b/website/images/menu_r1_c1_f3.gif differ
diff --git a/website/images/menu_r1_c2.gif b/website/images/menu_r1_c2.gif
new file mode 100644
index 0000000..535716b
Binary files /dev/null and b/website/images/menu_r1_c2.gif differ
diff --git a/website/images/menu_r1_c2_f2.gif b/website/images/menu_r1_c2_f2.gif
new file mode 100644
index 0000000..1f1715d
Binary files /dev/null and b/website/images/menu_r1_c2_f2.gif differ
diff --git a/website/images/menu_r1_c2_f3.gif b/website/images/menu_r1_c2_f3.gif
new file mode 100644
index 0000000..1f1715d
Binary files /dev/null and b/website/images/menu_r1_c2_f3.gif differ
diff --git a/website/images/menu_r1_c3.gif b/website/images/menu_r1_c3.gif
new file mode 100644
index 0000000..306beea
Binary files /dev/null and b/website/images/menu_r1_c3.gif differ
diff --git a/website/images/menu_r1_c3_f2.gif b/website/images/menu_r1_c3_f2.gif
new file mode 100644
index 0000000..89b63a0
Binary files /dev/null and b/website/images/menu_r1_c3_f2.gif differ
diff --git a/website/images/menu_r1_c3_f3.gif b/website/images/menu_r1_c3_f3.gif
new file mode 100644
index 0000000..89b63a0
Binary files /dev/null and b/website/images/menu_r1_c3_f3.gif differ
diff --git a/website/images/menu_r1_c4.gif b/website/images/menu_r1_c4.gif
new file mode 100644
index 0000000..b379212
Binary files /dev/null and b/website/images/menu_r1_c4.gif differ
diff --git a/website/images/menu_r1_c4_f2.gif b/website/images/menu_r1_c4_f2.gif
new file mode 100644
index 0000000..5d0aca3
Binary files /dev/null and b/website/images/menu_r1_c4_f2.gif differ
diff --git a/website/images/menu_r1_c4_f3.gif b/website/images/menu_r1_c4_f3.gif
new file mode 100644
index 0000000..5d0aca3
Binary files /dev/null and b/website/images/menu_r1_c4_f3.gif differ
diff --git a/website/images/menu_r1_c5.gif b/website/images/menu_r1_c5.gif
new file mode 100644
index 0000000..93e7af1
Binary files /dev/null and b/website/images/menu_r1_c5.gif differ
diff --git a/website/images/menu_r1_c5_f2.gif b/website/images/menu_r1_c5_f2.gif
new file mode 100644
index 0000000..9121467
Binary files /dev/null and b/website/images/menu_r1_c5_f2.gif differ
diff --git a/website/images/menu_r1_c5_f3.gif b/website/images/menu_r1_c5_f3.gif
new file mode 100644
index 0000000..9121467
Binary files /dev/null and b/website/images/menu_r1_c5_f3.gif differ
diff --git a/website/images/spacer.gif b/website/images/spacer.gif
new file mode 100644
index 0000000..fc25609
Binary files /dev/null and b/website/images/spacer.gif differ
diff --git a/website/index.html b/website/index.html
new file mode 100644
index 0000000..bd05ff0
--- /dev/null
+++ b/website/index.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>Crunch</h1>
+      <p>&nbsp;</p>
+
+      <table bgcolor="#FFFFFF">
+        <tr>
+          <td width="336"> <p>Crunch is a web proxy, usable with essentially all
+              web browsers, that performs content extraction (or clutter reduction)
+              from HTML web pages. Crunch includes a flexible plug-in API so that
+              various heuristics can be integrated to act as filters, collectively,
+              to remove non-content and perform content extraction.</p>
+            <p> This proxy has evolved from a program where individual settings
+              had to be tweaked by hand by the end user, to an extraction system
+              that is designed to adapt to the user’s workflow and needs, classifying
+              web pages based on genre and utilizing this information to extract
+              content in similar manners from similar sites. It reduces human
+              involvement in applying heuristic settings for websites and instead
+              tries to automate the job by detecting and utilizing the content
+              genre of a given website. </p>
+            <p align="left">One of the major goals of Crunch is to be able to
+              make web pages more accessible to people with disabilities and we
+              believed that preprocessing web pages with Crunch would make inaccessible
+              web pages more accessible. </p>      <div align="left"></div></td>
+          <td width="368"><div align="center"><img src="crunch.PNG"></div></td>
+        </tr>
+      </table>
+      <p>&nbsp;</p>
+      <p><img src="example.gif" width="700" height="310"></p>
+	  <p>&nbsp;</p>
+
+      <p align="justify">&nbsp;</p>
+      <p>&nbsp;</p>
+		<p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/interface.htm b/website/interface.htm
new file mode 100644
index 0000000..ce1c660
--- /dev/null
+++ b/website/interface.htm
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD><TITLE>Crunch</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="crunch.css" type=text/css rel=stylesheet>
+<SCRIPT language=JavaScript type=text/JavaScript>
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</SCRIPT>
+
+<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
+<BODY
+onload="MM_preloadImages('../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c1_f3.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c1_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c2_f3.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c2_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c3_f3.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c3_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c4_f3.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c4_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c5_f3.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c5_f2.gif')">
+<DIV id=wrapper><BR><IMG height=124 src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/title.png" width=740>
+<TABLE cellSpacing=0 cellPadding=0 width=740 align=center border=0><!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+  <TBODY>
+  <TR>
+    <TD><IMG height=1 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=148
+      border=0></TD>
+    <TD><IMG height=1 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=148
+      border=0></TD>
+    <TD><IMG height=1 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=148
+      border=0></TD>
+    <TD><IMG height=1 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=148
+      border=0></TD>
+    <TD><IMG height=1 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=148
+      border=0></TD>
+    <TD><IMG height=1 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=1
+    border=0></TD></TR>
+  <TR>
+    <TD><A
+      onmouseover="MM_nbGroup('over','menu_r1_c1','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c1_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c1_f3.gif',1)"
+      onclick="MM_nbGroup('down','navbar1','menu_r1_c1','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c1_f3.gif',1)"
+      onmouseout="MM_nbGroup('out');"
+      href="about.htm"
+      target=_top><IMG height=30 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/menu_r1_c1.gif"
+      width=148 border=0 name=menu_r1_c1></A></TD>
+    <TD><A
+      onmouseover="MM_nbGroup('over','menu_r1_c2','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c2_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c2_f3.gif',1)"
+      onclick="MM_nbGroup('down','navbar1','menu_r1_c2','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c2_f3.gif',1)"
+      onmouseout="MM_nbGroup('out');"
+      href="people.htm"
+      target=_top><IMG height=30 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/menu_r1_c2.gif"
+      width=148 border=0 name=menu_r1_c2></A></TD>
+    <TD><A
+      onmouseover="MM_nbGroup('over','menu_r1_c3','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c3_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c3_f3.gif',1)"
+      onclick="MM_nbGroup('down','navbar1','menu_r1_c3','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c3_f3.gif',1)"
+      onmouseout="MM_nbGroup('out');"
+      href="publications.htm"
+      target=_top><IMG height=30 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/menu_r1_c3.gif"
+      width=148 border=0 name=menu_r1_c3></A></TD>
+    <TD><A
+      onmouseover="MM_nbGroup('over','menu_r1_c4','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c4_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c4_f3.gif',1)"
+      onclick="MM_nbGroup('down','navbar1','menu_r1_c4','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c4_f3.gif',1)"
+      onmouseout="MM_nbGroup('out');"
+      href="software.htm"
+      target=_top><IMG height=30 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/menu_r1_c4.gif"
+      width=148 border=0 name=menu_r1_c4></A></TD>
+    <TD><A
+      onmouseover="MM_nbGroup('over','menu_r1_c5','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c5_f2.gif','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c5_f3.gif',1)"
+      onclick="MM_nbGroup('down','navbar1','menu_r1_c5','../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/images/menu_r1_c5_f3.gif',1)"
+      onmouseout="MM_nbGroup('out');"
+      href="register.htm"
+      target=_top><IMG height=30 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/menu_r1_c5.gif"
+      width=148 border=0 name=menu_r1_c5></A></TD>
+    <TD><IMG height=30 alt="" src="../../../../eclipse/workspace/crunch3/src/psl/crunch3/web/interface_files/spacer.gif" width=1
+      border=0></TD></TR></TBODY></TABLE>
+<DIV class=box>
+<DIV class=bi>
+<DIV class=bt>
+<DIV></DIV></DIV>
+<H1>Crunch Settings</H1>
+<FORM action="http://localhost:8080/Crunch/settings.html" method=post>
+<TABLE width="90%" border=0>
+  <TBODY>
+  <TR>
+    <TH bgColor=#afe4e4>
+      <DIV align=center>CSS Settings</DIV></TH>
+    <TH bgColor=#afe4e4>Ads and Scripts</TH>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreExternalStylesheets> Ignore External Stylesheets</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreAds> Ignore All Advertisements</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreStyles> Ignore Styles</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreScripts> Ignore Scripts</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreStyleAttributes> Ignore Style Attribute in ALL tags</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreNoscript> Ignore &lt;NOSCRIPT&gt; tag</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreStyleInDiv> Ignore Style Attribute in &lt;DIV&gt; tag</DIV></TD>
+    <TD class=settd>
+      <DIV align=left></DIV></TD></TR></TBODY></TABLE>
+<TABLE width="90%" border=0>
+  <TBODY>
+  <TR>
+    <TH bgColor=#afe4e4>
+      <DIV align=center>Images</DIV></TH>
+    <TH bgColor=#afe4e4>Ignore Tags</TH>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreImages> Ignore Non-Link Images</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreInput> Ignore &lt;INPUT&gt; tags</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=displayAltTags> Display ALT Text</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreSelect> Ignore &lt;SELECT&gt; tags</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreImageLinks> Ignore Image Links</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreIframe> Ignore &lt;IFRAME&gt; tags</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=displayImageLinkAlts> Display ALT Links</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreEmbed> Ignore &lt;EMBED&gt; tags</DIV></TD></TR>
+  <TR>
+    <TD class=settd>&nbsp;</TD>
+    <TD class=settd><INPUT type=checkbox
+      name=ignoreButton> Ignore &lt;BUTTON&gt; tags</TD></TR>
+  <TR>
+    <TD class=settd>&nbsp;</TD>
+    <TD class=settd><INPUT type=checkbox
+      name=ignoreMeta> Ignore &lt;META&gt; tags</TD></TR></TBODY></TABLE>
+<TABLE width="90%" border=0>
+  <TBODY>
+  <TR>
+    <TH bgColor=#afe4e4>
+      <DIV align=center>Lists of Links</DIV></TH>
+    <TH bgColor=#afe4e4>Empty Tables</TH>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreLinkLists> Ignore Link Lists</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox CHECKED
+      name=removeEmptyTables> Remove Empty Tables</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreLLTextLinks> Text Links</DIV></TD>
+    <TD class=settd>
+      <DIV align=center><STRONG><SPAN align="left">Tags to Consider as
+      Substance</SPAN></STRONG></DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreLLImageLinks> Image Links</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox CHECKED
+      name=substanceImage> &lt;IMG&gt; <INPUT type=checkbox CHECKED
+       name=substanceLinks> &lt;A&gt;</DIV></TD></TR>
+  <TR>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox
+      name=ignoreOnlyTextAndLinks> Ignore Only Text and Links</DIV></TD>
+    <TD class=settd>
+      <DIV align=left><INPUT type=checkbox CHECKED
+      name=substanceInput> &lt;INPUT&gt; <INPUT type=checkbox CHECKED
+       name=substanceSelect> &lt;SELECT&gt;</DIV></TD></TR>
+  <TR>
+    <TD class=settd>Link/Text removal ratio <INPUT value=0.25
+    name=linkTextRatio></TD>
+    <TD class=settd><INPUT type=checkbox CHECKED
+      name=substanceTextarea> &lt;TEXTAREA&gt; <INPUT type=checkbox CHECKED
+       name=substanceButton> &lt;BUTTON&gt;</TD></TR>
+  <TR>
+    <TD class=settd>&nbsp;</TD>
+    <TD class=settd><INPUT type=checkbox CHECKED
+      name=substanceForm> &lt;FORM&gt; <INPUT type=checkbox CHECKED
+      name=substanceIFrame> &lt;IFRAME&gt;</TD></TR>
+  <TR>
+    <TD class=settd>&nbsp;</TD>
+    <TD class=settd>Minimum Text Length <INPUT value=12
+  name=minimumTextLength></TD></TR></TBODY></TABLE>
+        <TABLE width="90%" border=0>
+          <TBODY>
+            <TR>
+              <TH bgColor=#afe4e4> <DIV align=center>Output Format</DIV></TH>
+              <TH bgColor=#afe4e4> <DIV align=center>Ignore Misc.</DIV></TH>
+            <TR>
+              <TD class=settd> <DIV align=left>
+                  <INPUT value="htmlOutput" type=radio CHECKED
+      name="output">
+                  HTML</DIV></TD>
+              <TD class=settd> <DIV align=left>
+                  <INPUT type=checkbox
+      name=ignoreTextLinks>
+                  Ignore Text Links</DIV></TD>
+            </TR>
+            <TR>
+              <TD class=settd> <DIV align=left>
+                  <INPUT class=output type=radio value="textOutput"
+      name="output">
+                  Text </DIV></TD>
+              <TD class=settd> <DIV align=left>
+                  <INPUT type=checkbox
+      name=ignoreForms>
+                  Ignore Forms</DIV></TD>
+            </TR>
+            <TR>
+              <TD class=settd> <DIV align=left>
+                  <INPUT type=checkbox
+      name=appendLinks>
+                  Append Links to Bottom of Page</DIV></TD>
+              <TD class=settd> <DIV align=left>
+                  <INPUT type=checkbox
+      name=ignoreTableCellWidths>
+                  Ignore Table Cell Width</DIV></TD>
+            </TR>
+            <TR>
+              <TD class=settd> <DIV align=left>
+                  <INPUT type=checkbox
+      name=limitLineBreaks>
+                  Limit the Number of Line Breaks</DIV></TD>
+              <TD class=settd> <DIV align=left>
+                  <INPUT type=checkbox
+      name=ignoreFlash>
+                  Ignore Flash</DIV></TD>
+            </TR>
+            <TR>
+              <TD class=settd>Maximum Number of Line Breaks
+                <INPUT value=2
+      name=maxLineBreaks></TD>
+              <TD class=settd> <DIV align=right>
+                  <INPUT type=submit value=Submit name=Submit>
+                </DIV></TD>
+            </TR>
+          </TBODY>
+        </TABLE>
+<P>&nbsp;</P></FORM>
+<P>&nbsp;</P>
+<P align=center><A
+href="index.html">Home</A>
+| <A
+href="about.htm">About</A>
+| <A
+href="people.htm">People</A>
+| <A
+href="publications.htm">Publications</A>
+| <A
+href="software.htm">Software</A>
+| <A
+href="register.htm">Register</A></P>
+<DIV class=bb>
+<DIV></DIV></DIV></DIV></DIV>
+<DIV>
+<DIV align=center>Copyright (c) 2005: The Trustees of Columbia University in the
+City of New York. All Rights Reserved.</DIV></DIV></DIV></BODY></HTML>
diff --git a/website/interface.jsp b/website/interface.jsp
new file mode 100644
index 0000000..fec19fd
--- /dev/null
+++ b/website/interface.jsp
@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+	   <h1>Crunch Settings</h1>
+      <form action="" method="get">
+
+		<table width="90%" border="0">
+          <th bgcolor="#AFE4E4"> <div align="center">CSS Settings</div></th>
+          <th bgcolor="#AFE4E4">Ads and Scripts</th>
+          <tr>
+            <td  class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore External Stylesheets</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore All Advertisements</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Styles</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Scripts</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Style Attribute in ALL tags</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore &lt;NOSCRIPT&gt; tag</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Style Attribute in &lt;DIV&gt; tag</div></td>
+            <td class="settd"> <div align="left"></div></td>
+          </tr>
+        </table>
+
+		<table width="90%" border="0">
+          <th bgcolor="#AFE4E4"> <div align="center">Images</div></th>
+          <th bgcolor="#AFE4E4">Ignore Tags</th>
+          <tr>
+            <td  class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Non-Link Images</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore &lt;INPUT&gt; tags</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Display ALT Text</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore &lt;SELECT&gt; tags</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Image Links</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore &lt;IFRAME&gt; tags</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Display ALT Links</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds2" type="checkbox" value="Ignore Advertisements">
+                Ignore &lt;EMBED&gt; tags</div></td>
+          </tr>
+          <tr>
+            <td class="settd">&nbsp;</td>
+            <td class="settd"><input name="IgnoreAds3" type="checkbox" value="Ignore Advertisements">
+              Ignore &lt;BUTTON&gt; tags</td>
+          </tr>
+          <tr>
+            <td class="settd">&nbsp;</td>
+            <td class="settd"><input name="IgnoreAds4" type="checkbox" value="Ignore Advertisements">
+              Ignore &lt;META&gt; tags</td>
+          </tr>
+        </table>
+
+        <table width="90%" border="0">
+          <th bgcolor="#AFE4E4"> <div align="center">Lists of Links</div></th>
+          <th bgcolor="#AFE4E4">Empty Tables</th>
+          <tr>
+            <td  class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Ignore Link Lists</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements" checked>
+                Remove Empty Tables</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Text Links</div></td>
+            <td class="settd"> <div align="center"><strong><span align="left">
+                Tags to Consider as Substance</span></strong></div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Image Links</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements" checked>
+                &lt;IMG&gt;
+                <input name="IgnoreAds5" type="checkbox" value="Ignore Advertisements" checked>
+                &lt;A&gt;</div></td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Ignore Only Text and Links</div></td>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds2" type="checkbox" value="Ignore Advertisements" checked>
+                &lt;INPUT&gt;
+                <input name="IgnoreAds22" type="checkbox" value="Ignore Advertisements" checked>
+                &lt;SELECT&gt;</div></td>
+          </tr>
+          <tr>
+            <td class="settd">Link/Text removal ratio
+              <input name="textfield" type="text" value="0.25"></td>
+            <td class="settd"><input name="IgnoreAds23" type="checkbox" value="Ignore Advertisements" checked>
+              &lt;TEXTAREA&gt; <input name="IgnoreAds222" type="checkbox" value="Ignore Advertisements" checked>
+              &lt;BUTTON&gt;</td>
+          </tr>
+          <tr>
+            <td class="settd">&nbsp;</td>
+            <td class="settd"><input name="IgnoreAds24" type="checkbox" value="Ignore Advertisements" checked>
+              &lt;FORM&gt; <input name="IgnoreAds223" type="checkbox" value="Ignore Advertisements" checked>
+              &lt;IFRAME&gt;</td>
+          </tr>
+          <tr>
+            <td class="settd">&nbsp;</td>
+            <td class="settd">Minimum Text Length
+              <input name="textfield2" type="text" value="12"></td>
+          </tr>
+        </table>
+
+		<table width="90%" border="0">
+          <th bgcolor="#AFE4E4"> <div align="center">Output Format</div></th>
+          <tr>
+            <td  class="settd"> <div align="left">
+                <input name="radiobutton" type="radio" value="radiobutton" checked class="output">
+                HTML</div></td>
+            <td class="settd">&nbsp;</td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input type="radio" name="radiobutton" value="radiobutton" class="output">
+                Text </div></td>
+            <td class="settd">&nbsp;</td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Append Links to Bottom of Page</div></td>
+            <td class="settd">&nbsp;</td>
+          </tr>
+          <tr>
+            <td class="settd"> <div align="left">
+                <input name="IgnoreAds" type="checkbox" value="Ignore Advertisements">
+                Limit the Number of Line Breaks</div></td>
+            <td class="settd">&nbsp;</td>
+          </tr>
+          <tr>
+            <td class="settd">Maximum Number of Line Breaks
+              <input name="textfield3" type="text" value="2"></td>
+            <td class="settd"><div align="right">
+                <input type="submit" name="Submit" value="Submit">
+              </div></td>
+          </tr>
+        </table>
+
+        <p>&nbsp;</p>
+
+
+
+
+
+      </form>
+
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/interface_files/crunch.css b/website/interface_files/crunch.css
new file mode 100644
index 0000000..9132c34
--- /dev/null
+++ b/website/interface_files/crunch.css
@@ -0,0 +1,60 @@
+BODY {
+	BACKGROUND-COLOR: #84939a; TEXT-ALIGN: center
+}
+DIV#wrapper {
+	WIDTH: 740px; TEXT-ALIGN: left; align: center
+}
+DIV#main {
+	WIDTH: 740px; HEIGHT: 800px; BACKGROUND-COLOR: white
+}
+A:link {
+	FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none
+}
+A:visited {
+	FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none
+}
+A:hover {
+	COLOR: #fdc255
+}
+.box {
+	PADDING-RIGHT: 12px; PADDING-LEFT: 0px; BACKGROUND: url(borders.gif) #84939a repeat-y 100% 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
+}
+.bi {
+	PADDING-RIGHT: 0px; PADDING-LEFT: 12px; BACKGROUND: url(borders.gif) #fff repeat-y 0px 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
+}
+.bt {
+	BACKGROUND: url(box2.gif) no-repeat 100% 0px; MARGIN: 0px -12px; HEIGHT: 17px
+}
+.bt DIV {
+	BACKGROUND: url(box2.gif) no-repeat 0px 0px; WIDTH: 18px; HEIGHT: 17px
+}
+.bb {
+	BACKGROUND: url(box2.gif) no-repeat 100% 100%; MARGIN: 0px -12px; HEIGHT: 17px
+}
+.bb DIV {
+	BACKGROUND: url(box2.gif) no-repeat 0px 100%; WIDTH: 18px; HEIGHT: 17px
+}
+.box H1 {
+	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #fdc255; PADDING-BOTTOM: 0.3em; MARGIN: 0px; FONT: bold 1.2em/1 Arial, Helvetica, sans-serif; PADDING-TOP: 0.3em
+}
+.box P {
+	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #fff; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px
+}
+.box UL {
+	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #fff; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px
+}
+.box TABLE {
+	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #fff; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px
+}
+.box FORM {
+	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #fff; PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px
+}
+.box LI {
+	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; BACKGROUND: #fff; PADDING-BOTTOM: 20px; MARGIN: 0px 0px 0px 2em; PADDING-TOP: 20px
+}
+.box IMG {
+	BACKGROUND: #fff
+}
+TD.settd {
+	WIDTH: 50%; HEIGHT: 20px
+}
diff --git a/website/interface_files/menu_r1_c1.gif b/website/interface_files/menu_r1_c1.gif
new file mode 100644
index 0000000..71671f4
Binary files /dev/null and b/website/interface_files/menu_r1_c1.gif differ
diff --git a/website/interface_files/menu_r1_c2.gif b/website/interface_files/menu_r1_c2.gif
new file mode 100644
index 0000000..535716b
Binary files /dev/null and b/website/interface_files/menu_r1_c2.gif differ
diff --git a/website/interface_files/menu_r1_c3.gif b/website/interface_files/menu_r1_c3.gif
new file mode 100644
index 0000000..306beea
Binary files /dev/null and b/website/interface_files/menu_r1_c3.gif differ
diff --git a/website/interface_files/menu_r1_c4.gif b/website/interface_files/menu_r1_c4.gif
new file mode 100644
index 0000000..b379212
Binary files /dev/null and b/website/interface_files/menu_r1_c4.gif differ
diff --git a/website/interface_files/menu_r1_c5.gif b/website/interface_files/menu_r1_c5.gif
new file mode 100644
index 0000000..93e7af1
Binary files /dev/null and b/website/interface_files/menu_r1_c5.gif differ
diff --git a/website/interface_files/spacer.gif b/website/interface_files/spacer.gif
new file mode 100644
index 0000000..fc25609
Binary files /dev/null and b/website/interface_files/spacer.gif differ
diff --git a/website/interface_files/title.png b/website/interface_files/title.png
new file mode 100644
index 0000000..7d7723c
Binary files /dev/null and b/website/interface_files/title.png differ
diff --git a/website/jopth-abstract.htm b/website/jopth-abstract.htm
new file mode 100644
index 0000000..224aa37
--- /dev/null
+++ b/website/jopth-abstract.htm
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Publications</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="javascript:;" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1><font size="3">World Wide Web Accessibility by Visually Disabled Patients:
+        Problems and Solutions - Abstract</font></h1>
+
+      <p>&nbsp;</p>
+
+      <p>Rapid advances in information technology have dramatically transformed
+        the world during the past several decades. Access to computers and the
+        World Wide Web is increasingly required for education and employment,
+        as well as for many activities of daily living. While these changes have
+        improved society in many respects, they present an obstacle for visually
+        disabled patients who may have significant difficulty processing the visual
+        cues presented by modern graphical user interfaces. This paper reviews
+        the specific barriers to computer and Web access faced by visually disabled
+        patients, describes clinical evaluation methods, summarizes traditional
+        low vision methods as well as newer assistive computer technologies for
+        universal accessibility, and discusses emerging technologies and future
+        directions in this area.</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | About | <a href="people.htm">People</a>
+        | <a href="publications.htm">Publications</a> | <a href="software.htm">Software</a>
+        | <a href="register.htm">Register</a></p>
+
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/jopth-abstract.txt b/website/jopth-abstract.txt
new file mode 100644
index 0000000..b7bfef0
--- /dev/null
+++ b/website/jopth-abstract.txt
@@ -0,0 +1,7 @@
+Rapid advances in information technology have dramatically transformed the world during the past several decades. Access to
+computers and the World Wide Web is increasingly required for education and employment, as well as for many activities of
+daily living. While these changes have improved society in many respects, they present an obstacle for visually disabled
+patients who may have significant difficulty processing the visual cues presented by modern graphical user interfaces. This
+paper reviews the specific barriers to computer and Web access faced by visually disabled patients, describes clinical
+evaluation methods, summarizes traditional low vision methods as well as newer assistive computer technologies for universal
+accessibility, and discusses emerging technologies and future directions in this area.
diff --git a/website/jopth.pdf b/website/jopth.pdf
new file mode 100644
index 0000000..8f63bc9
Binary files /dev/null and b/website/jopth.pdf differ
diff --git a/website/menu.htm b/website/menu.htm
new file mode 100644
index 0000000..5b2a8da
--- /dev/null
+++ b/website/menu.htm
@@ -0,0 +1,78 @@
+<html>
+<head>
+<title>menu.gif</title>
+<meta http-equiv="Content-Type" content="text/html;">
+<!-- Fireworks MX Dreamweaver MX target.  Created Tue Jul 05 15:47:10 GMT-0400 (Eastern Standard Time) 2005-->
+<script language="JavaScript">
+<!--
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+function MM_nbGroup(event, grpName) { //v6.0
+var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+
+function MM_preloadImages() { //v3.0
+ var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+//-->
+</script>
+</head>
+<body bgcolor="#ffffff" onLoad="MM_preloadImages('images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif');">
+<table border="0" cellpadding="0" cellspacing="0" width="740">
+<!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+  <tr>
+   <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+   <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+   <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+   <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+   <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+   <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+  </tr>
+
+  <tr>
+   <td><a href="#" onMouseOut="MM_nbGroup('out');" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+   <td><a href="#" onMouseOut="MM_nbGroup('out');" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+   <td><a href="#" onMouseOut="MM_nbGroup('out');" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+   <td><a href="#" onMouseOut="MM_nbGroup('out');" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+   <td><a href="#" onMouseOut="MM_nbGroup('out');" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+   <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/website/menu.png b/website/menu.png
new file mode 100644
index 0000000..2c12acb
Binary files /dev/null and b/website/menu.png differ
diff --git a/website/menuflash.fla b/website/menuflash.fla
new file mode 100644
index 0000000..81b0e6a
Binary files /dev/null and b/website/menuflash.fla differ
diff --git a/website/menuflash.swf b/website/menuflash.swf
new file mode 100644
index 0000000..4bf7e0c
Binary files /dev/null and b/website/menuflash.swf differ
diff --git a/website/people.htm b/website/people.htm
new file mode 100644
index 0000000..2cbd476
--- /dev/null
+++ b/website/people.htm
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - People</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>People</h1>
+
+      <p>&nbsp;</p>
+      <p><strong><font size="+1">PI</font></strong></p>
+      <p><img src="gail.jpg" width="110" height="109"></p>
+      <p><a href="http://www1.cs.columbia.edu/%7Ekaiser/">Dr. Gail Kaiser</a></p>
+      <p>&nbsp;</p>
+      <p><font size="+1"><strong>Students</strong></font></p>
+      <p><img src="suhit.bmp"></p>
+      <p><a href="http://www.suhit.com/">Dr. Suhit Gupta</a></p>
+      <p>&nbsp;</p>
+      <p><img src="hila.jpg" width="110" height="105"></p>
+      <p align="left"><a href="http://www.cs.columbia.edu/%7Ehb2143">Hila Becker</a></p>
+      <p>&nbsp;</p>
+
+
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/publications.htm b/website/publications.htm
new file mode 100644
index 0000000..bbd5300
--- /dev/null
+++ b/website/publications.htm
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Publications</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>Publications</h1>
+
+      <ul type="square">
+        <li>
+          <div align="left"> Suhit Gupta, Gail Kaiser, "CRUNCH - Web-based Collaboration
+            for Persons with Disabilities", W3C Web Accessibility Initiative,
+            Teleconference on Making Collaboration Technologies Accessible for
+            Persons with Disabilities, Apr 2003. (<a href="ctapd.html">html</a>)</div>
+        </li>
+        <li>
+          <div align="left"> Suhit Gupta, Gail Kaiser, David Neistadt, Peter Grimm
+            "DOM-based Content Extraction of HTML Documents" WWW2003 (<a href="www2003-abstract.htm">abstract</a>,
+            <a href="www2003.pdf">paper</a>)</div>
+        </li>
+        <li>
+          <div align="left"> Suhit Gupta; Gail E Kaiser, Peter Grimm, Michael
+            F Chiang, Justin Starren, "Automating Content Extraction of HTML Documents"
+            World Wide Web Journal, January 2004 (<a href="www2004-abstract.htm">abstract</a>,
+            <a href="WWWJ.pdf">paper</a>)</div>
+        </li>
+        <li>
+          <div align="left"> Michael F. Chiang, Roy G. Cole, Suhit Gupta, Gail
+            E Kaiser, Justin Starren, "World Wide Web Accessibility by Visually
+            Disabled Patients: Problems and Solutions", Submitted to the Journal
+            of Opthalmology, January 2004 (<a href="jopth-abstract.htm">abstract</a>,
+            <a href="jopth.pdf">paper</a>)</div>
+        </li>
+        <li>
+          <div align="left"> Suhit Gupta; Gail E Kaiser, Salvatore Stolfo, "Extracting
+            Context To Improve Accuracy For HTML Content Extraction", Poster at
+            the World Wide Web Conference 2005 (<a href="www2005-abstract.htm">abstract</a>,
+            <a href="www2005.pdf">paper</a>)</div>
+        </li>
+        <li>Suhit Gupta, Gail E Kaiser, Salvatore Stolfo, Hila Becker, Genre Classification
+          of Websites Using Search Engine Snippets for Content Extraction&quot;,
+          Submitted to SIGIR 2005</li>
+        <li>Suhit Gupta, Gail Kaiser, &#8220;Extracting content from accessible
+          webpages&#8221;, Proceedings of the 2005 International Cross-Disciplinary
+          Workshop on Web Accessibility (W4A), May 2005</li>
+      </ul>
+      <p>&nbsp;</p>
+		<p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/register.htm b/website/register.htm
new file mode 100644
index 0000000..6d4d52b
--- /dev/null
+++ b/website/register.htm
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Register </title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>Register</h1>
+
+      <p>&nbsp;</p>
+
+
+
+
+      <form action="http://localhost:8080/Crunch/register.html" method=post>
+        <table width="487">
+          <tr>
+		  <td>First Name</td>
+            <td><input type="text" name="firstname"></td>
+		  </tr>
+          <tr><td>Last Name</td>
+            <td><input type="text" name="lastname"></td></tr>
+
+			<tr><td>Email Address</td>
+            <td><input type="text" name="email"></td></tr><tr><td>Username</td>
+            <td><input type="text" name="username"></td></tr><tr><td>Password</td>
+            <td><input name="password" type="password"></td></tr><tr><td>Confirm Password</td>
+            <td><input type="password"  name="confirmpass"></td></tr>
+			</tbody>
+          </table>
+
+        <div align="right"><br/>
+        </div>
+        <div align="right">
+          <input name="submit" value="submit" type="submit">
+        </div>
+      </form>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/software.htm b/website/software.htm
new file mode 100644
index 0000000..ed8cbeb
--- /dev/null
+++ b/website/software.htm
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Software</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="about.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>Software</h1>
+
+      <p>&nbsp;</p>
+
+      <p><font size="+1">Download</font></p>
+      <p>Version 2 of the proxy (the executable) can be downloaded <a href="http://www.psl.cs.columbia.edu/software.html">here</a>.</p>
+      <p>Source of Version 2 as well as Version 1 of the proxy can be downloaded
+        <a href="http://www.psl.cs.columbia.edu/software.html">here</a>.</p>
+      <p>&nbsp;</p>
+      <p><font size="+1">External Proxy Configuration </font> </p>
+      <p>coming soon</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | <a href="about.htm">About</a>
+        | <a href="people.htm">People</a> | <a href="publications.htm">Publications</a>
+        | <a href="software.htm">Software</a> | <a href="register.htm">Register</a></p>
+		<div></div>
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/spacer.gif b/website/spacer.gif
new file mode 100644
index 0000000..fc25609
Binary files /dev/null and b/website/spacer.gif differ
diff --git a/website/suhit.bmp b/website/suhit.bmp
new file mode 100644
index 0000000..cd8a331
Binary files /dev/null and b/website/suhit.bmp differ
diff --git a/website/title.fla b/website/title.fla
new file mode 100644
index 0000000..49fb44a
Binary files /dev/null and b/website/title.fla differ
diff --git a/website/title.htm b/website/title.htm
new file mode 100644
index 0000000..c9e0aae
--- /dev/null
+++ b/website/title.htm
@@ -0,0 +1,9 @@
+<html>
+<head>
+<title>title</title>
+<meta http-equiv="Content-Type" content="text/html;">
+<!-- Fireworks MX Dreamweaver MX target.  Created Tue Jun 28 17:05:15 GMT-0400 (Eastern Standard Time) 2005-->
+</head>
+<body bgcolor="#ffffff">
+<img name="title" src="title.gif" width="900" height="150" border="0" alt=""></body>
+</html>
diff --git a/website/title.png b/website/title.png
new file mode 100644
index 0000000..7d7723c
Binary files /dev/null and b/website/title.png differ
diff --git a/website/title.swf b/website/title.swf
new file mode 100644
index 0000000..bd7b3c0
Binary files /dev/null and b/website/title.swf differ
diff --git a/website/www2003-abstract.htm b/website/www2003-abstract.htm
new file mode 100644
index 0000000..2d31c30
--- /dev/null
+++ b/website/www2003-abstract.htm
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Publications</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="javascript:;" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>DOM-based Content Extraction of HTML Document - Abstract</h1>
+
+      <p>&nbsp;</p>
+
+      <p>Web pages often contain clutter (such as pop-up ads, unnecessary images
+        and<br>
+        extraneous links) around the body of an article that distracts a user
+        from<br>
+        actual content. Extraction of &quot;useful and relevant&quot; content
+        from web pages<br>
+        has many applications, including cell phone and PDA browsing, speech<br>
+        rendering for the visually impaired, and text summarization. Most<br>
+        approaches to removing clutter or making content more readable involve<br>
+        changing font size or removing HTML and data components such as images,<br>
+        which takes away from a webpage's inherent look and feel. Unlike &quot;Content<br>
+        Reformatting&quot;, which aims to reproduce the entire webpage in a more<br>
+        convenient form, our solution directly addresses &quot;Content Extraction&quot;.
+        We<br>
+        have developed a framework that employs easily extensible set of techniques<br>
+        that incorporate advantages of previous work on content extraction. Our
+        key<br>
+        insight is to work with the DOM trees, rather than with raw HTML markup.
+        We<br>
+        have implemented our approach in a publicly available Web proxy to extract<br>
+        content from HTML web pages.</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | About | <a href="people.htm">People</a>
+        | <a href="publications.htm">Publications</a> | <a href="software.htm">Software</a>
+        | <a href="register.htm">Register</a></p>
+
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/www2003-abstract.txt b/website/www2003-abstract.txt
new file mode 100644
index 0000000..e360495
--- /dev/null
+++ b/website/www2003-abstract.txt
@@ -0,0 +1,17 @@
+Abstract
+
+Web pages often contain clutter (such as pop-up ads, unnecessary images and
+extraneous links) around the body of an article that distracts a user from
+actual content. Extraction of ?useful and relevant? content from web pages
+has many applications, including cell phone and PDA browsing, speech
+rendering for the visually impaired, and text summarization. Most
+approaches to removing clutter or making content more readable involve
+changing font size or removing HTML and data components such as images,
+which takes away from a webpage?s inherent look and feel. Unlike ?Content
+Reformatting?, which aims to reproduce the entire webpage in a more
+convenient form, our solution directly addresses ?Content Extraction?.  We
+have developed a framework that employs easily extensible set of techniques
+that incorporate advantages of previous work on content extraction. Our key
+insight is to work with the DOM trees, rather than with raw HTML markup. We
+have implemented our approach in a publicly available Web proxy to extract
+content from HTML web pages.
diff --git a/website/www2003.pdf b/website/www2003.pdf
new file mode 100644
index 0000000..6c75202
Binary files /dev/null and b/website/www2003.pdf differ
diff --git a/website/www2004-abstract.htm b/website/www2004-abstract.htm
new file mode 100644
index 0000000..6221813
--- /dev/null
+++ b/website/www2004-abstract.htm
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Publications</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="javascript:;" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1>Automating Content Extraction of HTML Documents - Abstract</h1>
+
+      <p>&nbsp;</p>
+
+      <p>Web pages often contain clutter (such as unnecessary images and extraneous
+        links) around the <br>
+        body of an article that distracts a user from actual content. Extraction
+        of &quot;useful and <br>
+        relevant&quot; content from web pages has many applications, including
+        cell phone and PDA browsing, <br>
+        speech rendering for the visually impaired, and text summarization. Most
+        approaches to making <br>
+        content more readable involve changing font size or removing HTML and
+        data components such as <br>
+        images, which takes away from a webpage's inherent look and feel. Unlike
+        &quot;Content Reformatting&quot;, <br>
+        which aims to reproduce the entire webpage in a more convenient form,
+        our solution directly <br>
+        addresses &quot;Content Extraction&quot;. We have developed a framework
+        that employs an easily extensible <br>
+        set of techniques. It incorporates advantages of previous work on content
+        extraction. Our key <br>
+        insight is to work with DOM trees, a W3C specified interface that allows
+        programs to dynamically <br>
+        access document structure, rather than with raw HTML markup. We have implemented
+        our approach in <br>
+        a publicly available Web proxy to extract content from HTML web pages.
+        This proxy can be used <br>
+        both centrally, administered for groups of users, as well as by individuals
+        for personal <br>
+        browsers. We have also, after receiving feedback from users about the
+        proxy, created a revised <br>
+        version with improved performance and accessibility in mind.</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | About | <a href="people.htm">People</a>
+        | <a href="publications.htm">Publications</a> | <a href="software.htm">Software</a>
+        | <a href="register.htm">Register</a></p>
+
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/www2005-abstract.htm b/website/www2005-abstract.htm
new file mode 100644
index 0000000..c2d8ee6
--- /dev/null
+++ b/website/www2005-abstract.htm
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Crunch - Publications</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link href="crunch.css" rel="stylesheet" type="text/css">
+<script language="JavaScript" type="text/JavaScript">
+<!--
+
+<!--
+function MM_preloadImages() { //v3.0
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_nbGroup(event, grpName) { //v6.0
+  var i,img,nbArr,args=MM_nbGroup.arguments;
+  if (event == "init" && args.length > 2) {
+    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
+      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
+      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
+      nbArr[nbArr.length] = img;
+      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+        if (!img.MM_up) img.MM_up = img.src;
+        img.src = img.MM_dn = args[i+1];
+        nbArr[nbArr.length] = img;
+    } }
+  } else if (event == "over") {
+    document.MM_nbOver = nbArr = new Array();
+    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
+      nbArr[nbArr.length] = img;
+    }
+  } else if (event == "out" ) {
+    for (i=0; i < document.MM_nbOver.length; i++) {
+      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
+  } else if (event == "down") {
+    nbArr = document[grpName];
+    if (nbArr)
+      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
+    document[grpName] = nbArr = new Array();
+    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
+      if (!img.MM_up) img.MM_up = img.src;
+      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
+      nbArr[nbArr.length] = img;
+  } }
+}
+//-->
+</script>
+</head>
+
+<body onLoad="MM_preloadImages('images/menu_r1_c1_f3.gif','images/menu_r1_c1_f2.gif','images/menu_r1_c2_f3.gif','images/menu_r1_c2_f2.gif','images/menu_r1_c3_f3.gif','images/menu_r1_c3_f2.gif','images/menu_r1_c4_f3.gif','images/menu_r1_c4_f2.gif','images/menu_r1_c5_f3.gif','images/menu_r1_c5_f2.gif')">
+<div id="wrapper"> <br/>
+  <img src="title.png" width="740" height="124">
+  <table  align="center" border="0" cellpadding="0" cellspacing="0" width="740">
+    <!-- fwtable fwsrc="menu.png" fwbase="menu.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
+    <tr>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="148" height="1" border="0" alt=""></td>
+      <td><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
+    </tr>
+    <tr>
+      <td><a href="javascript:;" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c1','images/menu_r1_c1_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c1','images/menu_r1_c1_f2.gif','images/menu_r1_c1_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c1" src="images/menu_r1_c1.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="people.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c2','images/menu_r1_c2_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c2','images/menu_r1_c2_f2.gif','images/menu_r1_c2_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c2" src="images/menu_r1_c2.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="publications.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c3','images/menu_r1_c3_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c3','images/menu_r1_c3_f2.gif','images/menu_r1_c3_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c3" src="images/menu_r1_c3.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="software.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c4','images/menu_r1_c4_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c4','images/menu_r1_c4_f2.gif','images/menu_r1_c4_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c4" src="images/menu_r1_c4.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><a href="register.htm" target="_top" onClick="MM_nbGroup('down','navbar1','menu_r1_c5','images/menu_r1_c5_f3.gif',1);" onMouseOver="MM_nbGroup('over','menu_r1_c5','images/menu_r1_c5_f2.gif','images/menu_r1_c5_f3.gif',1);" onMouseOut="MM_nbGroup('out');"><img name="menu_r1_c5" src="images/menu_r1_c5.gif" width="148" height="30" border="0" alt=""></a></td>
+      <td><img src="images/spacer.gif" width="1" height="30" border="0" alt=""></td>
+    </tr>
+  </table>
+  <div class="box" >
+  <div class="bi">
+		<div class="bt"><div></div></div>
+
+      <h1><font size="3">Extracting Context To Improve Accuracy For HTML Content
+        Extraction - Abstract </font></h1>
+
+      <p>&nbsp;</p>
+
+      <p>Web pages contain clutter (such as ads, unnecessary images and extraneous
+        links) around the body of an article, which distracts a user from actual
+        content. Extraction of &#8220;useful and relevant&#8221; content from
+        web pages has many applications, including cell phone and PDA browsing,
+        speech rendering for the visually impaired, reducing noise for information
+        retrieval systems and to generally improve the web browsing experience.
+        In our previous work [16], we developed a framework that employed an easily
+        extensible set of techniques that incorporated results from our earlier
+        work on content extraction [16].<br>
+        Our insight was to work with DOM trees, rather than raw HTML markup. We
+        present here filters that reduce human involvement in applying heuristic
+        settings for websites and instead automate the job by detecting and utilizing
+        the physical layout and content genre of a given website. We also present
+        work we have done towards improving the usability and performance of our
+        content extraction proxy as well as the quality and accuracy of the heuristics
+        that act as filters for inferring the context of a webpage.</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p>&nbsp;</p>
+      <p align="center"><a href="index.html">Home</a> | About | <a href="people.htm">People</a>
+        | <a href="publications.htm">Publications</a> | <a href="software.htm">Software</a>
+        | <a href="register.htm">Register</a></p>
+
+		<div class="bb"><div></div></div></div>
+</div>
+  <div>
+    <div align="center">Copyright (c) 2005: The Trustees of Columbia University
+      in the City of New York. All Rights Reserved.</div>
+  </div>
+
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/website/www2005-abstract.txt b/website/www2005-abstract.txt
new file mode 100644
index 0000000..1be203d
--- /dev/null
+++ b/website/www2005-abstract.txt
@@ -0,0 +1,10 @@
+Web pages contain clutter (such as ads, unnecessary images and extraneous links) around the body of an article, which
+distracts a user from actual content. Extraction of “useful and relevant” content from web pages has many applications,
+including cell phone and PDA browsing, speech rendering for the visually impaired, reducing noise for information retrieval
+systems and to generally improve the web browsing experience. In our previous work [16], we developed a framework that
+employed an easily extensible set of techniques that incorporated results from our earlier work on content extraction [16].
+Our insight was to work with DOM trees, rather than raw HTML markup. We present here filters that reduce human involvement
+in applying heuristic settings for websites and instead automate the job by detecting and utilizing the physical layout and
+content genre of a given website. We also present work we have done towards improving the usability and performance of our
+content extraction proxy as well as the quality and accuracy of the heuristics that act as filters for inferring the context
+of a webpage.
diff --git a/website/www2005.pdf b/website/www2005.pdf
new file mode 100644
index 0000000..1e066b6
Binary files /dev/null and b/website/www2005.pdf differ
diff --git a/website/wwwj2004-abstract.txt b/website/wwwj2004-abstract.txt
new file mode 100644
index 0000000..2ca11a9
--- /dev/null
+++ b/website/wwwj2004-abstract.txt
@@ -0,0 +1,15 @@
+Web pages often contain clutter (such as unnecessary images and extraneous links) around the
+body of an article that distracts a user from actual content. Extraction of ?useful and
+relevant? content from web pages has many applications, including cell phone and PDA browsing,
+speech rendering for the visually impaired, and text summarization. Most approaches to making
+content more readable involve changing font size or removing HTML and data components such as
+images, which takes away from a webpage?s inherent look and feel. Unlike ?Content Reformatting?,
+which aims to reproduce the entire webpage in a more convenient form, our solution directly
+addresses ?Content Extraction?. We have developed a framework that employs an easily extensible
+set of techniques. It incorporates advantages of previous work on content extraction. Our key
+insight is to work with DOM trees, a W3C specified interface that allows programs to dynamically
+access document structure, rather than with raw HTML markup. We have implemented our approach in
+a publicly available Web proxy to extract content from HTML web pages. This proxy can be used
+both centrally, administered for groups of users, as well as by individuals for personal
+browsers. We have also, after receiving feedback from users about the proxy, created a revised
+version with improved performance and accessibility in mind.