diff git a/TODO b/TODO
index ad7bd1afd16f7f2e0b60fd2e3ef5fd9ce683daf2..a11e779dba973de090f2f73fde64c05e60235c43 100644
 a/TODO
+++ b/TODO
@@ 1,34 +1,84 @@
2005/01/13
+Updated 2008/11/12
 Clean up mapserver connectivity
 Network creation and network operations
 (upstream, downstream, least cost path)
 Standardized handling for topology and coverages with
 support functions.
 casts between PostGIS and PostgreSQL geometry classes
+== Simple Projects ==
======================================
2005/12/14  other random items
======================================
+* ST_IsMeasured(geometry)
+ TRUE or FALSE depending on existence of M
+* ST_LocateAlong(reference geometry, measure float)
+* ST_LocateBetween(reference geometry, start float, end float)
+* ST_IsValidReason(geometry)
+ For invalid geometries return the GEOS reason
+* ST_CleanGeometry(geometry)
+ Attempt to make invalid geometry valid
+* ST_SplitGeometry(polygon, line) returns components of polygon
+* ST_SplitGeometry(lineA, lineB) returns components of lineA
+* ST_SplitGeometry(line, point) returns components of line
+* ST_Hausdorf(g1 geometry, g2 geometry) returns double.
+ Need to get def'n from JTS.
+* ST_AverageDistance(g1 geometry, g2 geometry, nsamples integer) returns double
+ Sum of minimum distances at regular intervals up two geometries,
+ divided by the number of samples.
+* ST_MaxDistance(g1 geometry, g2 geometry) returns double.
+ What is the maximum distance between these two geometries.
+* ST_GeomFromKML(string) returns geometry. Ingests KML geometry parts only.
+* ST_GeomFromGML(string) returns geometry. Ingests GML geometry parts only.
+* ST_GeomFromGeoJSON(string) returns geometry. Ingests JSON geometry parts only.
+* ST_LatitudeFromText(string) returns float,
+ LongitudeFromText(string) returns float
+ for things like 132W 23' 23", or 45N 23.41232', or 123.14123W, etc, etc, etc.
+* ST_AsLatLonText(, [formatstring]) returns string.
+ Format string could use DD DD.DD MM MM.MM SS SSSS.SSS style
+ tokens and allow anything else (E, W, ", ', degree sign)
+ to be interleaved within.
 Add findsrid() functions that find good carthesian projection
 srids for a given geometry.

 Treat geometries without SRID=1 as compatible with all other
 geometries in geometry operations
 Special threatment of SRID=1, dims=1, type=GEOMETRY
 in geometry_columns
+== Larger projects ==
 LineMerge and Polygonize* interfaces for JTS
+ Complete Curve support 
 More LRS functions ?
+The LWGEOM construct does not have quite enough space to hold all the
+typology variants of curves. And it certainly doesn't have enough space
+for encoding the line interpolation type.
 Selectivity estimation code merge (+ pgsql8.0.0)

 fix invalid stats computation (currently keeps the previously
 computed ones, should instead wipe them out  possibly a pgsql bug).
+Complete curve support would require reworking all the way back into
+GEOS to support nonlinear interpolations in all GEOS calculations,
+and may never get done.
 MakeValidShape() to remove consecutive vertexes and any eventual
 other cleanup aimed at making pgsql2shp produce "valid" Shapefiles.
+Intermediate curve support requires handling all curve types and stroking
+them into linear interpolations for handoff to GEOS functions. Inexact
+but providing some utility.
+
+Current curve support does include indexing and in/out functions but needs
+much better documentation, particularly about the valid WKT and WKB forms.
+
+ Geodetic support 
+
+A new "geography" type which is indexed in cartesian 3space, possibly
+using direction cosines as the ordinates, and supports some basic functions,
+most importantly, distance on all types, area on all types and an
+intersects predicate. Casts back to "geometry" could allow use with
+standard functionality.
+
+ Topology 
+
+Expand on the existing topology experiment, in particular buiding topologies
+from existing POLYGON and MULTIPOLYGON "coverages" (simple feature collections
+that have an expectation of no overlaps or gaps).
+
+ GEOMETRY_COLUMNS 
+
+Add the maintenance of GEOMETRY_COLUMNS to the "ANALYZE" operation, so that
+an ANALYZE automatically removes orphaned rows from GEOMETRY_COLUMNS and
+adds entries for new rows.
+
+ Estimated Extent 
+
+Fast extent estimation based on reading the head of the RTree.
+
+ Nearest Neighbor 
+
+Fast nearest neighbor searching based on traversing the RTree.
+See,
+ http://citeseer.ist.psu.edu/roussopoulos95nearest.html
+ http://citeseer.ist.psu.edu/91356.html