diff --git a/.idea/ant.xml b/.idea/ant.xml
new file mode 100644
index 0000000..2581ca3
--- /dev/null
+++ b/.idea/ant.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AntConfiguration">
+    <defaultAnt bundledAnt="true" />
+  </component>
+</project>
+
diff --git a/.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml b/.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml
new file mode 100644
index 0000000..6abe098
--- /dev/null
+++ b/.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: net.sf.opencsv:opencsv:2.3">
+    <CLASSES>
+      <root url="jar://$MAVEN_REPOSITORY$/net/sf/opencsv/opencsv/2.3/opencsv-2.3.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://$MAVEN_REPOSITORY$/net/sf/opencsv/opencsv/2.3/opencsv-2.3-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://$MAVEN_REPOSITORY$/net/sf/opencsv/opencsv/2.3/opencsv-2.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Maven__us_joshuatreesoftware_fortress_1_0_RC32.xml b/.idea/libraries/Maven__us_joshuatreesoftware_fortress_1_0_RC32.xml
new file mode 100644
index 0000000..d534d42
--- /dev/null
+++ b/.idea/libraries/Maven__us_joshuatreesoftware_fortress_1_0_RC32.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: us.joshuatreesoftware:fortress:1.0-RC32">
+    <CLASSES>
+      <root url="jar://$MAVEN_REPOSITORY$/us/joshuatreesoftware/fortress/1.0-RC32/fortress-1.0-RC32.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://$MAVEN_REPOSITORY$/us/joshuatreesoftware/fortress/1.0-RC32/fortress-1.0-RC32-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://$MAVEN_REPOSITORY$/us/joshuatreesoftware/fortress/1.0-RC32/fortress-1.0-RC32-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 50f9b15..119ca39 100755
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
     <groupId>us.joshuatreesoftware</groupId>
     <artifactId>commander</artifactId>
     <packaging>war</packaging>
-    <version>1.0-RC31</version>
+    <version>1.0-RC32</version>
     <name>Commander Webapp</name>
     <url>http://jts.us</url>
     <description>Commander is an ANSI RBAC compliant administrative Web UI</description>
@@ -68,7 +68,7 @@
     </developers>
 
     <properties>
-        <version>1.0-RC31</version>
+        <version>1.0-RC32</version>
         <title>${name} ${version}</title>
         <wicket.version>6.11.0</wicket.version>
         <wicket.jquery.version>6.11.0</wicket.jquery.version>
@@ -458,6 +458,10 @@
                                         <pathelement location="${net.sf.ehcache:ehcache-core:jar}"/>
                                         <pathelement location="${org.slf4j:slf4j-api:jar}"/>
                                         <pathelement location="${org.slf4j:slf4j-log4j12:jar}"/>
+                                        <pathelement location="${org.apache.cxf:cxf-common-utilities:jar}"/>
+                                        <pathelement location="${javax.ws.rs:jsr311-api:jar}"/>
+                                        <pathelement location="${commons-httpclient:commons-httpclient:jar}"/>
+                                        <pathelement location="${commons-codec:commons-codec:jar}"/>
                                     </classpath>
                                     <sysproperty key="version" value="${version}"/>
                                     <sysproperty key="tenant" value="HOME"/>
@@ -515,6 +519,7 @@
             </activation>
             <properties>
                 <ANT_HOME>../apache-ant/</ANT_HOME>
+<!--                <ANT_HOME>/home/smckinn/JavaTools/apache-ant-1.8.2</ANT_HOME>-->
             </properties>
         </profile>
     </profiles>
diff --git a/src/main/java/us/jts/commander/SecureIndicatingAjaxButton.java b/src/main/java/us/jts/commander/SecureIndicatingAjaxButton.java
index 9e8b365..522bf03 100644
--- a/src/main/java/us/jts/commander/SecureIndicatingAjaxButton.java
+++ b/src/main/java/us/jts/commander/SecureIndicatingAjaxButton.java
@@ -39,21 +39,4 @@
         if( ! GlobalUtils.isAuthorized( roleName, servletReq ) )
             setVisible( false );
     }
-
-    public SecureIndicatingAjaxButton( String id )
-    {
-        super( id );
-        try
-        {
-            boolean result = accessMgr.checkAccess( GlobalUtils.getRbacSession( this ), new Permission("test", "test") );
-            if(!result)
-                setVisible( false );
-        }
-        catch ( us.jts.fortress.SecurityException se )
-        {
-            String error = "Fortress Security Exception=" + se;
-            LOG.error( error );
-            //throw new RuntimeException("SecurityIndicatingAjaxButton caught Exception=" + e);
-        }
-    }
 }
\ No newline at end of file
diff --git a/src/main/resources/applicationContext.xml b/src/main/resources/applicationContext.xml
index 03287b5..43eb3ea 100644
--- a/src/main/resources/applicationContext.xml
+++ b/src/main/resources/applicationContext.xml
@@ -73,7 +73,7 @@
         <property name="targetMethod" value="putAll"/>
         <property name="arguments">
             <util:properties>
-                <prop key="version">1.0-RC31</prop>
+                <prop key="version">1.0-RC32</prop>
             </util:properties>
         </property>
     </bean>
diff --git a/src/main/resources/fortress.properties b/src/main/resources/fortress.properties
index 00c2510..4da671b 100644
--- a/src/main/resources/fortress.properties
+++ b/src/main/resources/fortress.properties
@@ -28,6 +28,7 @@
 crypto.prop=abcd12345
 
 ehcache.config.file=ehcache.xml
+perms.cached=true
 
 # This will override default LDAP manager implementations for the RESTful ones:
 #enable.mgr.impl.rest=true
@@ -37,4 +38,4 @@
 http.user=demouser4
 http.pw=gX9JbCTxJW5RiH+otQEX0Ja0RIAoPBQf
 http.host=localhost
-http.port=8080
+http.port=80
diff --git a/src/test/java/us/jts/commander/integration/CommanderSeleniumITCase.java b/src/test/java/us/jts/commander/integration/CommanderSeleniumITCase.java
index 1107c60..4ac371e 100644
--- a/src/test/java/us/jts/commander/integration/CommanderSeleniumITCase.java
+++ b/src/test/java/us/jts/commander/integration/CommanderSeleniumITCase.java
@@ -559,7 +559,7 @@
         driver.findElement( By.id( GlobalIds.USER_ID ) ).clear();
         driver.findElement( By.id( GlobalIds.USER_ID ) ).sendKeys( "test" );
         driver.findElement( By.name( GlobalIds.SEARCH ) ).click();
-        TUtils.sleep( 5 );
+        TUtils.sleep( 10 );
         WebElement table = driver.findElement(By.id("modtreegrid"));
         // Now get all the TR elements from the table
         List<WebElement> allRows = table.findElements(By.tagName("tr"));
