diff --git a/src/main/java/org/apache/directory/fortress/rest/overview.html b/src/main/java/org/apache/directory/fortress/rest/overview.html
index 2eae2fc..18a6be7 100755
--- a/src/main/java/org/apache/directory/fortress/rest/overview.html
+++ b/src/main/java/org/apache/directory/fortress/rest/overview.html
@@ -17,81 +17,132 @@
    under the License.
 -->
 <html>
-   <head>
-      <title>Overview of the org.apache.directory.fortress.rest component</title>
-   </head>
-   <body>
-       Fortress Rest is a web application that implements <A HREF="http://en.wikipedia.org/wiki/Representational_state_transfer">RESTful</A> Web services to interface with
-       <A HREF="http://symas.com/javadocs/fortress/index.html?overview-summary.html">Fortress Core</A> and a directory server like <A HREF="http://www.openldap.org/">OpenLDAP</A>
-       or <A HREF="http://directory.apache.org/apacheds//">ApacheDS</A>.
+<head>
+    <title>Overview of the org.apache.directory.fortress.rest component</title>
+</head>
+<body>
+Fortress Rest is a web application that implements <A
+        HREF="http://en.wikipedia.org/wiki/Representational_state_transfer">RESTful</A> Web services to interface with
+<A HREF="http://symas.com/javadocs/fortress/index.html?overview-summary.html">Fortress Core</A> and a directory server
+like <A HREF="http://www.openldap.org/">OpenLDAP</A>
+or <A HREF="http://directory.apache.org/apacheds//">ApacheDS</A>.
 
-       <h2>What technologies are in use?</h2>
+<h2>What technologies are in use?</h2>
 
-       Fortress Rest was built using established <A HREF="http://www.opensource.org/">Open Source</A> technologies including
-       <A HREF="http://cxf.apache.org/">Apache CXF</A> (web services stack), <A HREF="http://www.springsource.org/">Spring Framework</A> (glue), <A HREF="http://maven.apache.org/">Maven</A> (dependencies)
-       and <A HREF="http://java.sun.com/xml/downloads/jaxb.html">JAXB</A> (data binding layer) and runs inside any reasonably compliant Java Servlets container.
+Fortress Rest was built using established <A HREF="http://www.opensource.org/">Open Source</A> technologies including
+<A HREF="http://cxf.apache.org/">Apache CXF</A> (web services stack), <A HREF="http://www.springsource.org/">Spring
+    Framework</A> (glue), <A HREF="http://maven.apache.org/">Maven</A> (dependencies)
+and <A HREF="http://java.sun.com/xml/downloads/jaxb.html">JAXB</A> (data binding layer) and runs inside any reasonably
+compliant Java Servlets container.
 
-       <a href="org/apache/directory/fortress/rest/FortressService.html">Fortress Rest service</a> access control decisions are enforced using <A HREF="https://symas.com/javadocs/sentry/">Fortress Realm</A> which itself
-       uses declarative <A HREF="http://docs.oracle.com/javaee/5/tutorial/doc/bnbwk.html">Java EE Security</A> and <A HREF="http://static.springsource.org/spring-security/site/">Spring Security</A> policy hooks that are wired to
-       connect back to the <A HREF="org.apache.directory.fortress.core/rbac/package-summary.html">Fortress</A> <A HREF="http://en.wikipedia.org/wiki/Role-based_access_control">RBAC</A> component.
+<a href="org/apache/directory/fortress/rest/FortressService.html">Fortress Rest service</a> access control decisions are
+enforced using <A HREF="https://symas.com/javadocs/sentry/">Fortress Realm</A> which itself
+uses declarative <A HREF="http://docs.oracle.com/javaee/5/tutorial/doc/bnbwk.html">Java EE Security</A> and <A
+        HREF="http://static.springsource.org/spring-security/site/">Spring Security</A> policy hooks that are wired to
+connect back to the <A HREF="org.apache.directory.fortress.core/rbac/package-summary.html">Fortress</A> <A
+        HREF="http://en.wikipedia.org/wiki/Role-based_access_control">RBAC</A> component.
 
-       Fortress Rest is a <a href="http://java.sun.com/developer/technicalArticles/tools/webapps_1/">Java Web program</a> artifact and is wholly dependent on <A HREF="org.apache.directory.fortress.core/package-summary.html">Fortress</A>
-       but also needs a <A HREF="http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol">V3 compliant LDAP</A> server like OpenLDAP or ApacheDS.
-       For more information on installing and setting up a directory server check out the Fortress README's in the directory-fortress-core source package.
+Fortress Rest is a <a href="http://java.sun.com/developer/technicalArticles/tools/webapps_1/">Java Web program</a>
+artifact and is wholly dependent on <A HREF="org.apache.directory.fortress.core/package-summary.html">Fortress</A>
+but also needs a <A HREF="http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol">V3 compliant LDAP</A>
+server like OpenLDAP or ApacheDS.
+For more information on installing and setting up a directory server check out the Fortress README's in the
+directory-fortress-core source package.
 
-       <h2>What can Fortress Rest do?</h2>
+<h2>What can Fortress Rest do?</h2>
 
-       Contained within this application are Web APIs to perform authentication, authorization, administration, audit and password policies.
-       The most important package in this system, <A HREF="org/apache/directory/fortress/rest/package-summary.html">org.apache.directory.fortress.rest</A>, contains the public Web APIs that are called by external systems.
+Contained within this application are Web APIs to perform authentication, authorization, administration, audit and
+password policies.
+The most important package in this system, <A HREF="org/apache/directory/fortress/rest/package-summary.html">org.apache.directory.fortress.rest</A>,
+contains the public Web APIs that are called by external systems.
 
-       There is a one-to-one correspondence between a Fortress Core API and a Fortress Rest service. The Fortress Core
-       APIs are organized into 'Managers' each implementing a specific area of functionality within the
-       Identity and Access Management lifecycle.
-       For a list of Fortress Rest services, see <a href="org/apache/directory/fortress/rest/FortressService.html">FortressService</a>.
+There is a one-to-one correspondence between a Fortress Core API and a Fortress Rest service. The Fortress Core
+APIs are organized into 'Managers' each implementing a specific area of functionality within the
+Identity and Access Management lifecycle.
+For a list of Fortress Rest services, see <a href="org/apache/directory/fortress/rest/FortressService.html">FortressService</a>.
 
-       <h3>Fortress Manager Overview</h3>
-        <ol>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/AccessMgr.html">AccessMgr</a> - This object performs runtime access control operations on objects that are provisioned <a href="http://csrc.nist.gov/groups/SNS/rbac/documents/draft-rbac-implementation-std-v01.pdf">RBAC</a> entities that reside in LDAP directory.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/AdminMgr.html">AdminMgr</a> - This object performs administrative functions to provision Fortress <a href="http://csrc.nist.gov/groups/SNS/rbac/documents/draft-rbac-implementation-std-v01.pdf">RBAC</a> entities into the LDAP directory.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/AuditMgr.html">AuditMgr</a> - This interface prescribes methods used to search OpenLDAP's slapd access log.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/DelAccessMgr.html">DelegatedAccessMgr</a> - This interface prescribes the API for performing runtime delegated access control operations on objects that are provisioned Fortress <a href="http://profsandhu.com/journals/tissec/p113-oh.pdf">ARBAC02</a> entities that reside in LDAP directory.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/DelAdminMgr.html">DelegatedAdminMgr</a> - This class prescribes the <a href="http://profsandhu.com/journals/tissec/p113-oh.pdf">ARBAC02</a> DelegatedAdminMgr interface for performing policy administration of Fortress ARBAC entities that reside in LDAP directory.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/DelReviewMgr.html">DelegatedReviewMgr</a> - This class prescribes the <a href="http://profsandhu.com/journals/tissec/p113-oh.pdf">ARBAC02</a> DelegatedReviewMgr interface for performing policy interrogation of provisioned Fortress ARBAC02 entities that reside in LDAP directory.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/PwPolicyMgr.html">PswdPolicyMgr</a> - This object adheres to <a href="http://tools.ietf.org/html/draft-behera-ldap-password-policy-10">IETF PW policy draft</a> and is used to perform administrative and review functions on the <a href="http://symas.com/javadocs/fortress/org/openldap/fortress/rbac/PwPolicy.html">PWPOLICIES</a> and <a href="http://symas.com/javadocs/fortress/org/openldap/fortress/rbac/User.html">USERS</a> data sets within Fortress.</li>
-        <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/ReviewMgr.html">ReviewMgr</a> - This interface prescribes the administrative review functions on already provisioned Fortress <a href="http://csrc.nist.gov/groups/SNS/rbac/documents/draft-rbac-implementation-std-v01.pdf">RBAC</a> entities that reside in LDAP directory.</li>
-        </ol>
+<h3>Fortress Manager Overview</h3>
+<ol>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/AccessMgr.html">AccessMgr</a> - This object
+        performs runtime access control operations on objects that are provisioned <a
+                href="http://csrc.nist.gov/groups/SNS/rbac/documents/draft-rbac-implementation-std-v01.pdf">RBAC</a>
+        entities that reside in LDAP directory.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/AdminMgr.html">AdminMgr</a> - This object
+        performs administrative functions to provision Fortress <a
+                href="http://csrc.nist.gov/groups/SNS/rbac/documents/draft-rbac-implementation-std-v01.pdf">RBAC</a>
+        entities into the LDAP directory.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/AuditMgr.html">AuditMgr</a> - This interface
+        prescribes methods used to search OpenLDAP's slapd access log.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/DelAccessMgr.html">DelegatedAccessMgr</a> -
+        This interface prescribes the API for performing runtime delegated access control operations on objects that are
+        provisioned Fortress <a href="http://profsandhu.com/journals/tissec/p113-oh.pdf">ARBAC02</a> entities that
+        reside in LDAP directory.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/DelAdminMgr.html">DelegatedAdminMgr</a> - This
+        class prescribes the <a href="http://profsandhu.com/journals/tissec/p113-oh.pdf">ARBAC02</a> DelegatedAdminMgr
+        interface for performing policy administration of Fortress ARBAC entities that reside in LDAP directory.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/DelReviewMgr.html">DelegatedReviewMgr</a> -
+        This class prescribes the <a href="http://profsandhu.com/journals/tissec/p113-oh.pdf">ARBAC02</a>
+        DelegatedReviewMgr interface for performing policy interrogation of provisioned Fortress ARBAC02 entities that
+        reside in LDAP directory.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/PwPolicyMgr.html">PswdPolicyMgr</a> - This
+        object adheres to <a href="http://tools.ietf.org/html/draft-behera-ldap-password-policy-10">IETF PW policy
+            draft</a> and is used to perform administrative and review functions on the <a
+                href="http://symas.com/javadocs/fortress/org/openldap/fortress/rbac/PwPolicy.html">PWPOLICIES</a> and <a
+                href="http://symas.com/javadocs/fortress/org/openldap/fortress/rbac/User.html">USERS</a> data sets
+        within Fortress.
+    </li>
+    <li><a href="http://symas.com/javadocs/fortress/org/openldap/fortress/ReviewMgr.html">ReviewMgr</a> - This interface
+        prescribes the administrative review functions on already provisioned Fortress <a
+                href="http://csrc.nist.gov/groups/SNS/rbac/documents/draft-rbac-implementation-std-v01.pdf">RBAC</a>
+        entities that reside in LDAP directory.
+    </li>
+</ol>
 
-       <h2>How can I connect with Fortress Rest?</h2>
+<h2>How can I connect with Fortress Rest?</h2>
 
-        Clients have a choice in how to connect with the Fortress Rest services. Integration can occur using a
-        preferred Web service toolkit like <a href="http://axis.apache.org/axis/">AXIS 1</a>, <a href="http://axis.apache.org/axis2/java/core/">AXIS 2</a>,
-        <a href="http://metro.java.net/">Metro</a>, <a href="http://cxf.apache.org/">CXF</a>, <a href="http://static.springsource.org/spring-ws/sites/1.5/">Spring Web Services</a>,
-        <a href="http://wso2.com/products/web-services-framework/php">WSO2</a>, <a href="http://jquery.com/">JQuery</a>, etc, or by using the Fortress Core APIs
-        themselves which have built in support for calling Fortress Rest.
+Clients have a choice in how to connect with the Fortress Rest services. Integration can occur using a
+preferred Web service toolkit like <a href="http://axis.apache.org/axis/">AXIS 1</a>, <a
+        href="http://axis.apache.org/axis2/java/core/">AXIS 2</a>,
+<a href="http://metro.java.net/">Metro</a>, <a href="http://cxf.apache.org/">CXF</a>, <a
+        href="http://static.springsource.org/spring-ws/sites/1.5/">Spring Web Services</a>,
+<a href="http://wso2.com/products/web-services-framework/php">WSO2</a>, <a href="http://jquery.com/">JQuery</a>, etc, or
+by using the Fortress Core APIs
+themselves which have built in support for calling Fortress Rest.
 
-        The Fortress Core APIs plugs into its backend data repository (LDAP) using a simple facade pattern that
-        shields its clients from downstream details. The behavior of the Fortress APIs does not change based
-        on the route it takes.
+The Fortress Core APIs plugs into its backend data repository (LDAP) using a simple facade pattern that
+shields its clients from downstream details. The behavior of the Fortress APIs does not change based
+on the route it takes.
 
-       <h3>Options for Fortress Rest service Integration</h3>
-        <ol>
-        <li>Client uses Fortress Core to connect to LDAP via Fortress Rest:<br>
-            Client-->Fortress Core-->HTTP/S-->Fortress Rest</li>
-        <li>Client uses other Web frameworks to connect to Fortress Rest:<br>
-            Client[Axis, Metro, CXF, SpringWS,...]-->HTTP/S-->Fortress Rest</li>
-        </ol>
-      </p>
-      <h2>What are the conditions of use?</h2>
-      <p>
-          This software development kit is open source, thus free to use and distribute via the <a href="http://www.apache.org/licenses/">Apache License, Version 2.0</a>.
-          It was developed and tested on open systems like <a href="http://www.ubuntu.com/">Ubuntu</a> and <a href="http://www.centos.org/">Centos</a> and was helped along
-          by the following open source products:
-       <ol>
-           <li><a href="http://www.openldap.org/project/">The OpenLDAP Project</a></li>
-           <li><a href="http://www.apache.org/">The Apache Software Foundation</a></li>
-           <li><a href="http://www.eigenbase.org/">The Eigenbase Project</a></li>
-           <li><a href="http://ehcache.org/">Ehcache</a></li>
-       </ol>
-      </p>
-   </body>
+<h3>Options for Fortress Rest service Integration</h3>
+<ol>
+    <li>Client uses Fortress Core to connect to LDAP via Fortress Rest:<br>
+        Client-->Fortress Core-->HTTP/S-->Fortress Rest
+    </li>
+    <li>Client uses other Web frameworks to connect to Fortress Rest:<br>
+        Client[Axis, Metro, CXF, SpringWS,...]-->HTTP/S-->Fortress Rest
+    </li>
+</ol>
+</p>
+<h2>What are the conditions of use?</h2>
+
+<p>
+    This software development kit is open source, thus free to use and distribute via the <a
+        href="http://www.apache.org/licenses/">Apache License, Version 2.0</a>.
+    It was developed and tested on open systems like <a href="http://www.ubuntu.com/">Ubuntu</a> and <a
+        href="http://www.centos.org/">Centos</a> and was helped along
+    by the following open source products:
+<ol>
+    <li><a href="http://www.openldap.org/project/">The OpenLDAP Project</a></li>
+    <li><a href="http://www.apache.org/">The Apache Software Foundation</a></li>
+    <li><a href="http://www.eigenbase.org/">The Eigenbase Project</a></li>
+    <li><a href="http://ehcache.org/">Ehcache</a></li>
+</ol>
+</p>
+</body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/org/apache/directory/fortress/rest/package.html b/src/main/java/org/apache/directory/fortress/rest/package.html
index 01c3b25..aec481c 100755
--- a/src/main/java/org/apache/directory/fortress/rest/package.html
+++ b/src/main/java/org/apache/directory/fortress/rest/package.html
@@ -17,13 +17,14 @@
    under the License.
 -->
 <html>
-   <head>
-      <title>Package Documentation for {@link org.apache.directory.fortress.rest.FortressService}</title>
-   </head>
-   <body>
-      <p>
-         This package contains REST APIs that are used by HTTP programs to provide Identity and Access Management functionality.
-          The javadoc for the Fortress REST services: {@link org.apache.directory.fortress.rest.FortressService}
-      </p>
-   </body>
+<head>
+    <title>Package Documentation for {@link org.apache.directory.fortress.rest.FortressService}</title>
+</head>
+<body>
+<p>
+    This package contains REST APIs that are used by HTTP programs to provide Identity and Access Management
+    functionality.
+    The javadoc for the Fortress REST services: {@link org.apache.directory.fortress.rest.FortressService}
+</p>
+</body>
 </html>
