diff --git a/common/rfb/CapsList.cxx b/common/rfb/CapsList.cxx
index e5f0aff..11977b2 100644
--- a/common/rfb/CapsList.cxx
+++ b/common/rfb/CapsList.cxx
@@ -18,7 +18,7 @@
 
 //
 // CapsList class implementation.
-// FIXME: Extend the comment.
+// Member functions are documented in CapsList.h.
 //
 
 #include <rfb/CapsList.h>
diff --git a/common/rfb/CapsList.h b/common/rfb/CapsList.h
index ce17aab..b8fb8e8 100644
--- a/common/rfb/CapsList.h
+++ b/common/rfb/CapsList.h
@@ -17,8 +17,8 @@
  */
 
 //
-// CapsList class declaration.
-// FIXME: Extend the comment.
+// CapsList - a list of server-side protocol capabilities. This class makes
+// it easy to prepare a capability list and send it via OutStream transport.
 //
 
 #ifndef __RFB_CAPSLIST_H__
@@ -32,23 +32,35 @@
 
   // NOTE: Here we use the CapsContainer class for an off-design purpose.
   //       However, that class is so good that I believe it's better to
-  //       use its well-tested reliable code instead of writing new class
-  //       from the scratch.
+  //       use its well-tested code instead of writing new class from the
+  //       scratch.
 
-  class CapsList : private CapsContainer {
+  class CapsList : private CapsContainer
+  {
   public:
+
+    // Constructor.
+    // The maxCaps value is the maximum number of capabilities in the list.
     CapsList(int maxCaps = 64);
+
     virtual ~CapsList();
 
+    // Current number of capabilities in the list.
     int getSize() const { return numEnabled(); }
 
+    // Add capability ("standard" vendor).
     void addStandard(rdr::U32 code, const char *name);
+    // Add capability (TightVNC vendor).
     void addTightExt(rdr::U32 code, const char *name);
+    // Add capability (any other vendor).
     void add3rdParty(rdr::U32 code, const char *name, const char *vendor);
 
+    // Send the list of capabilities (not including the counter).
     void write(rdr::OutStream* os) const;
 
   protected:
+
+    // Pre-defined signatures for known vendors.
     static const char *const VENDOR_STD;
     static const char *const VENDOR_TIGHT;
   };
