diff --git a/xdocs/index.xml b/xdocs/index.xml
index 75ac9a987..4280b885b 100644
--- a/xdocs/index.xml
+++ b/xdocs/index.xml
@@ -12,51 +12,59 @@
-The introduction of the Collections API by Sun in JDK 1.2 has been a
-boon to quick and effective Java programming. Ready access to
-powerful data structures has accelerated development by reducing the
-need for custom container classes around each core object. Most Java2
-APIs are significantly easier to use because of the Collections API.
+The Java Collections Framework
+was a major addition in JDK 1.2.
+It added many powerful data structures that accelerate development of most significant Java applications.
+Since that time it has become the regognised standard for collection handling in the Java language.
-However, there are certain holes left unfilled by Sun's
-implementations, and the Jakarta-Commons Collections Component strives
-to fulfill them. Among the features of this package are:
+Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.
+There are many features, including:
-
-An alphabetical list of the package can be found in the collections -status document. +A getting started User's Guide is available.
--The JavaDoc API documents are available online. +The JavaDoc API documents are available online for the +current release 3.0, the +previous version 2.1, and the +latest CVS. +
++The CVS repository can be browsed.
+Version 3.0 - + Binary - + Source +
++ For previous releases, see the Apache Archive +
+The following tasks are on the TODO list: +
+ ++Would you like to Volunteer? +
++Commons-Collections provides a large number of classes to aid day to day programming. +This document highlights some key features to get you started. +
+ +
+A Utility class is provided for each major collection interface.
+Thus, the Set
and SortedSet
interfaces are provided for by SetUtils
.
+These classes provide useful methods for working with that collection type.
+
+The most methods are found on the two 'root' collection utility classes -
+CollectionUtils
and MapUtils
.
+As all other collection interfaces extend Collection
or Map
these utilities can be used widely.
+They include intersection, counting, iteration, functor and typecasting operations amongst others.
+The utility classes also provide access to collection decorator classes in a way similar to the JDK Collections
class.
+
+The JDK Map
interface always suffered from being difficult to iterate over.
+API users are forced to either iterate over an EntrySet or over the KeySet.
+Commons-Collections now provides a new interface - MapIterator
that allows simple iteration over maps.
+
+A new interface is provided for maps that have an order but are not sorted - OrderedMap
.
+Two implementations are provided - LinkedMap
and ListOrderedMap
(a decorator).
+This interface supports the map iterator, and also allows iteration both forwards and backwards through the map.
+
+A new interface hierarchy has been added to support bidirectional maps - BidiMap
.
+These represent maps where the the key can lookup the value and the value can lookup the key with equal ease.
+
+Additional interfaces are provided for ordered and sorted bidirectional maps. +Implementations are provided for each bidirectional map type. +
+ +
+A new interface hierarchy has been added to support queues and buffers - Buffer
.
+These represent collections that have a well defined removal order.
+
+Implementations are provided for FIFO (queue), LIFO (stack) and Priority (removal in comparator order). +
+ +
+A new interface hierarchy has been added to support bags - Bag
.
+These represent collections where a certain number of copies of each element is held.
+
+Implementations are provided for both unsorted and sorted Bags. +
+ +