*: Examine the resulting Value object
 
 This work can probably be done mostly by a student.
+
+{subsubsection: ClassAdList}
+There is no equivalent to the {quote:ClassAdList} class in new {quote:ClassAds}. We propose writing a compatibility {quote:ClassAdList} that's a simple wrapper around an STL vector of {quote:ClassAd} pointers. We would emulate the interface of the old {quote:ClassAdList}, but not the reference counting, which isn't used anywhere.
+
+{subsubsection: Meta Operators}
+In new {quote:ClassAds}, the meta equality operators are called 'is' and 'isnt'. We are thinking of expanding the new ClassAds parser to recognize the old operators '=?=' and '=!=' and convert them.
+
+{subsubsection: STL Exceptions}
+Do we need to worry about handling exceptions from STL objects?
+
+{subsubsection: Chained Ads}
+New {quote:ClassAds} support chaining, but the iterators ignore them. The chained ad can be referenced explicitly by callers where it matters.
+
+{subsubsection: Warnings}
+It would be nice to emit warnings whereever the compatibility functions are invoked, so that we don't forget to convert them eventually.
+
+{subsubsection: Invisible Attributes}
+Old {quote:ClassAds} support the notion of private attributes that can be marked invisible when exporting an ad. The set of invisible attributes is static and invisibility is only done for the put() and dPrint() calls, so we handle this strictly in the compatibility functions.
+
+{subsubsection: String Escaping}
+String escaping is different between new and old {quote:ClassAds}. We need to ensure that this is handled properly when parsing and unparsing old {quote:ClassAd} format.