diff --git a/pub/src/axis.h b/pub/src/axis.h
index ae81f447723d7dfc86bafbe1d5f1ed005fdac621..40397743e5933240f5be3bec8df435a923d90b9e 100644
--- a/pub/src/axis.h
+++ b/pub/src/axis.h
@@ -5,6 +5,8 @@
 //* http://apps.jcns.fz-juelich.de                                         *//
 //**************************************************************************//
 
+//! One axis of a coordinate system, for use in plotting.
+
 class CAxis {
  public:
     double inf, sup;
diff --git a/pub/src/coord.cpp b/pub/src/coord.cpp
index e812cb6c0bfdf13b7b0b0fb8ba85ace3fa40262a..25999edee873131e807d433ba196248d863075eb 100644
--- a/pub/src/coord.cpp
+++ b/pub/src/coord.cpp
@@ -154,5 +154,3 @@ ostream& operator<< (ostream &s, CCoord C)
 {
     return s << C.str();
 }
-
-string strg(const CCoord& C) { return C.str(); };
diff --git a/pub/src/coord.h b/pub/src/coord.h
index a10f4b6ee0bc4e49ed19d28c0d0b982114ffb2bd..6489cf9b5e0550231882340adfb8dda204f2fbfb 100644
--- a/pub/src/coord.h
+++ b/pub/src/coord.h
@@ -5,6 +5,8 @@
 //* http://apps.jcns.fz-juelich.de                                         *//
 //**************************************************************************//
 
+//! A coordinate, consisting of a name and a unit.
+
 class CCoord {
  public:
     string name, unit;
@@ -29,7 +31,7 @@ class CCoord {
         return !(*this==Co2); };
 };
 
-string strg(const CCoord& C);
+//! A file-wide parameter, consisting of a coordinate and a value.
 
 class CParam {
  public:
diff --git a/pub/src/func.h b/pub/src/func.h
index 3bcd2d37382994dbbd041f87b1b0ef1be9cd954e..2939262ef9c8e6c310a6dde99c6dff16eb2476b2 100644
--- a/pub/src/func.h
+++ b/pub/src/func.h
@@ -14,7 +14,9 @@ typedef void (*deri_f2) (double&,double&,double,double,double,double);
 typedef void (*deri_f3) (double&,double&,
                          double,double,double,double,double,double);
 
-class CFunc { // public (short) interface => TAKE CARE
+//! A wrapper holding a function, its gradient, its name, and more.
+
+class CFunc {
  public:
     string txt;
     int narg;
diff --git a/pub/src/list.h b/pub/src/list.h
index c2c6141b67ebeb996cbe4233b0dfd727f17f1a02..b904a59a1de3b831827b9fb0dd8e42a3c3b2f9cd 100644
--- a/pub/src/list.h
+++ b/pub/src/list.h
@@ -5,26 +5,26 @@
 //* http://apps.jcns.fz-juelich.de                                         *//
 //**************************************************************************//
 
-// A CList is basically a sequence of non-zero integers like 1-3,5,7,11.
-
-// User-supplied input strings, however, may be more complicated:
-// - input must not be ordered;
-// - duplication of items is currently tolerated
-//     (** this is NOT a design feature; it may change in the future **);
-// - an interval can be qualified by a step: '1-100.2' means '1,3,5,...,99';
-// - the last interval may read '101-*': it extends up to sup;
-// - the user selection may just read '*': it extends from inf to sup;
-// where inf and sup are context-dependent lower and upper bound.
-
-// User-supplied bounds play two roles:
-// - they define, how '-*' and '*' are interpreted;
-// - in Ask(), they determine what answers are acceptable.
-// These bounds can be set
-// - by a constructor,
-// - by Ask(),
-// - by evaluate.
-// They are valid until they are overwritten.
-// To reset a CList into a bound-free state, it must be re-constructed.
+//! An index collection (a sequence of non-negative integers).
+
+//! User-supplied input strings, however, may be more complicated:
+//! - input must not be ordered;
+//! - duplication of items is currently tolerated
+//!     (** this is NOT a design feature; it may change in the future **);
+//! - an interval can be qualified by a step: '1-100.2' means '1,3,5,...,99';
+//! - the last interval may read '101-*': it extends up to sup;
+//! - the user selection may just read '*': it extends from inf to sup;
+//! where inf and sup are context-dependent lower and upper bound.
+
+//! User-supplied bounds play two roles:
+//! - they define, how '-*' and '*' are interpreted;
+//! - in Ask(), they determine what answers are acceptable.
+//! These bounds can be set
+//! - by a constructor,
+//! - by Ask(),
+//! - by evaluate.
+//! They are valid until they are overwritten.
+//! To reset a CList into a bound-free state, it must be re-constructed.
 
 class CList {
 private:
@@ -78,21 +78,3 @@ private:
 
     string sel2text() const;
 };	
-
-class ListIter { 
-// OBSOLETE. will be eliminated as soon as ScanBreak is revised
-private:
-    uint i;
-    CList L;
-public:
-    ListIter() { reset(); };
-    ListIter(CList L_in) { reset(L_in); };
-    void reset() { i=0; };
-    void reset(CList L_in) { L = L_in; reset(); };
-    uint operator()(uint *val) {
-        if (i>=L.size()) return 0;
-        *val = L.V[i++];
-        return i;
-    };
-};
-
diff --git a/pub/src/mem.cpp b/pub/src/mem.cpp
index b3c699eaab0c3f667542ff834c31290878fce153..db69e1f50adb48dd07b17b850295c6981550aea9 100644
--- a/pub/src/mem.cpp
+++ b/pub/src/mem.cpp
@@ -99,6 +99,8 @@ namespace NOlm {
 
 namespace NOlm {
 
+    //! Iterate over file selection. Implementation for use in IterateO.
+
     class MyIterate {
     public: // TODO: should become private
         uint iV;
diff --git a/pub/src/rssm.cpp b/pub/src/rssm.cpp
index 5af2f88812b03d7ef5c25b8a184f8d37277fce3d..e1fc1301bcc3e6c1a8c777f58f8c9ae07ef5fc6d 100644
--- a/pub/src/rssm.cpp
+++ b/pub/src/rssm.cpp
@@ -25,6 +25,8 @@
 
 using namespace std;
 
+//! All relevant information extracted from one raw-data file from SPHERES.
+
 class CRawfileSpheres {
  public:
     void RdRawYam( ifstream& F_in );
diff --git a/pub/src/zentry.h b/pub/src/zentry.h
index 1a1b9171a19a457193b4c748762a3edc4101953e..a688a7a3c6ecf71bf69eb1f70ab12ca113e5ac4f 100644
--- a/pub/src/zentry.h
+++ b/pub/src/zentry.h
@@ -6,7 +6,7 @@
 //**************************************************************************//
 
 
-//! z-entry: virtual base class for spec and curve.
+//! Virtual base class for CCurve and CSpec, holds a z vector and more.
 
 class CZentry {
  public:
@@ -21,7 +21,7 @@ class CZentry {
 };
 
 
-//! curve: parameters and fit outcome.
+//! A CZentry within a curve file, holds parameters and fit outcome.
 
 class CCurve: public CZentry {
  public:
@@ -35,7 +35,7 @@ class CCurve: public CZentry {
 };
 
 
-//! spec: x-y-dy data.
+//! A CZentry within a data file, holds a x-y-dy data set.
 
 class CSpec: public CZentry {
  public: