diff --git a/include/QtCrypto/qca_basic.h b/include/QtCrypto/qca_basic.h
index 00137340..a2609e78 100644
--- a/include/QtCrypto/qca_basic.h
+++ b/include/QtCrypto/qca_basic.h
@@ -1032,7 +1032,7 @@ namespace QCA
 	/**
 	 * \class BlowFish qca_basic.h QtCrypto
 	 *
-	 * Bruce Schneier's BlowFish %Cipher
+	 * Bruce Schneier's %BlowFish %Cipher
 	 *
 	 */
 	class QCA_EXPORT BlowFish : public Cipher
diff --git a/include/QtCrypto/qca_cert.h b/include/QtCrypto/qca_cert.h
index 6a5e55fc..b4a25053 100644
--- a/include/QtCrypto/qca_cert.h
+++ b/include/QtCrypto/qca_cert.h
@@ -846,7 +846,7 @@ namespace QCA
 	/**
 	   \class CRL qca_cert.h QtCrypto
 
-	   Certificate Revocation List
+	   %Certificate Revocation List
 
 	   A %CRL is a list of certificates that are special in some
 	   way. The normal reason for including a certificate on a %CRL
@@ -1180,9 +1180,11 @@ namespace QCA
 	};
 
 	/**
+	   \class KeyBundle qca_cert.h QtCrypto
+
 	   Public/private key pair
 
-	   This holds a certificate chain and an associated private key
+	   This holds a certificate chain and an associated private key.
 	*/
 	class QCA_EXPORT KeyBundle
 	{
@@ -1298,6 +1300,8 @@ namespace QCA
 
 
 	/**
+	   \class PGPKey qca_cert.h QtCrypto
+
 	   Pretty Good Privacy key 
 
 	   This holds either a reference to an item in a real PGP keyring,
diff --git a/include/QtCrypto/qca_core.h b/include/QtCrypto/qca_core.h
index f138ceee..5de2ad7c 100644
--- a/include/QtCrypto/qca_core.h
+++ b/include/QtCrypto/qca_core.h
@@ -532,6 +532,10 @@ namespace QCA
 		virtual ~Provider();
 
 		/**
+		   \class Context qca_core.h QtCrypto
+
+		   \internal
+
 		   Internal context class used for the plugin
 		*/
 		class QCA_EXPORT Context
@@ -773,7 +777,10 @@ namespace QCA
 	/**
 	   \class Algorithm qca_core.h QtCrypto
 
-	   General superclass for an algorithm
+	   General superclass for an algorithm. 
+
+	   This is a fairly abstract class, mainly used for
+	   implementing the backend "provider" interface.
 	*/
 	class QCA_EXPORT Algorithm
 	{
@@ -795,7 +802,7 @@ namespace QCA
 		Algorithm & operator=(const Algorithm &from);
 
 		/**
-		   The type of algorithm
+		   The name of the algorithm type.
 		*/
 		QString type() const;
 
@@ -810,23 +817,31 @@ namespace QCA
 		// Note: The next five functions are not public!
 
 		/**
-		   (NOT PUBLIC) The context associated with this algorithm
+		   \internal
+
+		   The context associated with this algorithm
 		*/
 		Provider::Context *context();
 
 		/**
-		   (NOT PUBLIC) The context associated with this algorithm
+		   \internal
+
+		   The context associated with this algorithm
 		*/
 		const Provider::Context *context() const;
 
 		/**
-		   (NOT PUBLIC) Set the Provider for this algorithm
+		   \internal
+
+		   Set the Provider for this algorithm
 
 		   \param c the context for the Provider to use
 		*/
 		void change(Provider::Context *c);
 
 		/**
+		   \internal
+
 		   \overload
 
 		   \param type the name of the algorithm to use
@@ -835,7 +850,9 @@ namespace QCA
 		void change(const QString &type, const QString &provider);
 
 		/**
-		   (NOT PUBLIC) Take the Provider from this algorithm
+		   \internal
+
+		   Take the Provider from this algorithm
 		*/
 		Provider::Context *takeContext();
 
diff --git a/include/QtCrypto/qca_keystore.h b/include/QtCrypto/qca_keystore.h
index 50165a9f..b1bd8f22 100644
--- a/include/QtCrypto/qca_keystore.h
+++ b/include/QtCrypto/qca_keystore.h
@@ -32,6 +32,8 @@ namespace QCA
 	class KeyStoreManagerPrivate;
 
 	/**
+	   \class KeyStoreEntry qca_keystore.h QtCrypto
+
 	   Single entry in a KeyStore
 
 	   This is a container for any kind of object in a KeyStore
@@ -127,14 +129,9 @@ namespace QCA
 		Private *d;
 	};
 
-	// notes
-	//  - there can be multiple KeyStore objects referring to the same id
-	//  - when a KeyStore is constructed, it refers to a given id (deviceId)
-	//    and internal contextId.  if the context goes away, the KeyStore
-	//    becomes invalid (isValid == false), and unavailable() is emitted.
-	//    even if the device later reappears, the KeyStore remains invalid.
-	//    a new KeyStore will have to be created to use the device again.
 	/**
+	   \class KeyStore qca_keystore.h QtCrypto
+
 	   General purpose key storage object
 
 	   Examples of use of this are:
@@ -143,6 +140,15 @@ namespace QCA
 	    -  apple keychain:       User Identities
 	    -  smartcard:            SmartCard Identities
 	    -  gnupg:                PGPKeyring Identities,PGPPublicKeys
+
+	    \note
+	    - there can be multiple KeyStore objects referring to the same id
+	    - when a KeyStore is constructed, it refers to a given id (deviceId)
+	    and internal contextId.  if the context goes away, the KeyStore
+	    becomes invalid (isValid() == false), and unavailable() is emitted.
+	    even if the device later reappears, the KeyStore remains invalid.
+	    a new KeyStore will have to be created to use the device again.
+
 	*/
 	class QCA_EXPORT KeyStore : public QObject, public Algorithm
 	{
@@ -301,8 +307,9 @@ namespace QCA
 		void invalidate();
 	};
 
-	// use this to get access to keystores and monitor for their activity
 	/**
+	   \class KeyStoreManager qca_keystore.h QtCrypto
+
 	   Access keystores, and monitor keystores for changes
 	*/
 	class QCA_EXPORT KeyStoreManager : public QObject
diff --git a/include/QtCrypto/qca_publickey.h b/include/QtCrypto/qca_publickey.h
index 83379201..1cf83d5f 100644
--- a/include/QtCrypto/qca_publickey.h
+++ b/include/QtCrypto/qca_publickey.h
@@ -114,6 +114,8 @@ namespace QCA
 	};
 
 	/**
+	   \class DLGroup qca_publickey.h QtCrypto
+
 	   A discrete logarithm group
 	*/
 	class QCA_EXPORT DLGroup
@@ -185,6 +187,8 @@ namespace QCA
 	};
 
 	/**
+	   \class PKey qca_publickey.h QtCrypto
+
 	   General superclass for public (PublicKey) and private (PrivateKey) keys
 	   used with asymmetric encryption techniques.
 	*/
@@ -433,6 +437,8 @@ namespace QCA
 	};
 
 	/**
+	   \class PublicKey qca_publickey.h QtCrypto
+
 	   Generic public key
 	*/
 	class QCA_EXPORT PublicKey : public PKey
@@ -674,6 +680,8 @@ namespace QCA
 	};
 
 	/**
+	   \class PrivateKey qca_publickey.h QtCrypto
+
 	   Generic private key
 	*/
 	class QCA_EXPORT PrivateKey : public PKey
@@ -868,6 +876,8 @@ namespace QCA
 	};
 
 	/**
+	   \class KeyGenerator qca_publickey.h QtCrypto
+
 	   Class for generating asymmetric key pairs
 
 	   This class is used for generating asymmetric keys (public/private key pairs)
@@ -992,6 +1002,8 @@ namespace QCA
 	};
 
 	/**
+	   \class RSAPublicKey qca_publickey.h QtCrypto
+
 	   RSA Public Key
 	*/
 	class QCA_EXPORT RSAPublicKey : public PublicKey
@@ -1035,6 +1047,8 @@ namespace QCA
 	};
 
 	/**
+	   \class RSAPrivateKey qca_publickey.h QtCrypto
+
 	   RSA Private Key
 	*/
 	class QCA_EXPORT RSAPrivateKey : public PrivateKey
@@ -1089,6 +1103,8 @@ namespace QCA
 	};
 
 	/**
+	   \class DSAPublicKey qca_publickey.h QtCrypto
+
 	   Digital Signature %Algorithm Public Key
 	*/
 	class QCA_EXPORT DSAPublicKey : public PublicKey
@@ -1127,6 +1143,8 @@ namespace QCA
 	};
 
 	/**
+	   \class DSAPrivateKey qca_publickey.h QtCrypto
+
 	   Digital Signature %Algorithm Private Key
 	*/
 	class QCA_EXPORT DSAPrivateKey : public PrivateKey
@@ -1164,6 +1182,8 @@ namespace QCA
 	};
 
 	/**
+	   \class DHPublicKey qca_publickey.h QtCrypto
+
 	   Diffie-Hellman Public Key
 	*/
 	class QCA_EXPORT DHPublicKey : public PublicKey
@@ -1202,6 +1222,8 @@ namespace QCA
 	};
 
 	/**
+	   \class DHPrivateKey qca_publickey.h QtCrypto
+
 	   Diffie-Hellman Private Key
 	*/
 	class QCA_EXPORT DHPrivateKey : public PrivateKey
diff --git a/include/QtCrypto/qca_securelayer.h b/include/QtCrypto/qca_securelayer.h
index 10f78012..e22ee0eb 100644
--- a/include/QtCrypto/qca_securelayer.h
+++ b/include/QtCrypto/qca_securelayer.h
@@ -57,6 +57,8 @@ namespace QCA
 	};
 
 	/**
+	   \class SecureLayer qca_securelayer.h QtCrypto
+
 	   Abstract interface to a security layer
 
 	   SecureLayer is normally used between an application and a
@@ -198,6 +200,8 @@ namespace QCA
 	};
 
 	/**
+	   \class TLS qca_securelayer.h QtCrypto
+
 	   Transport Layer Security / Secure Socket Layer 
 	*/
 	class QCA_EXPORT TLS : public SecureLayer, public Algorithm
@@ -531,6 +535,8 @@ namespace QCA
 	};
 
 	/**
+	   \class SASL qca_securelayer.h QtCrypto
+
 	   Simple Authentication and Security Layer protocol implementation
 
 	   This class implements the Simple Authenication and Security Layer protocol,
@@ -615,6 +621,8 @@ namespace QCA
 		};
 
 		/**
+		   \class Params qca_securelayer.h QtCrypto
+
 		   Parameter status for the SASL authentication
 
 		   This is used to track which parameters are currently held
diff --git a/include/QtCrypto/qca_securemessage.h b/include/QtCrypto/qca_securemessage.h
index c223f5af..ff117680 100644
--- a/include/QtCrypto/qca_securemessage.h
+++ b/include/QtCrypto/qca_securemessage.h
@@ -34,6 +34,8 @@ namespace QCA
 	class SecureMessageSystem;
 
 	/**
+	   \class SecureMessageKey qca_securemessage.h QtCrypto
+
 	   Key for SecureMessage system
 	*/
 	class QCA_EXPORT SecureMessageKey
@@ -152,6 +154,8 @@ namespace QCA
 	typedef QList<SecureMessageKey> SecureMessageKeyList;
 
 	/**
+	   \class SecureMessageSignature qca_securemessage.h QtCrypto
+
 	   SecureMessage signature
 	*/
 	class QCA_EXPORT SecureMessageSignature
diff --git a/include/QtCrypto/qca_textfilter.h b/include/QtCrypto/qca_textfilter.h
index 65964971..861c2d0a 100644
--- a/include/QtCrypto/qca_textfilter.h
+++ b/include/QtCrypto/qca_textfilter.h
@@ -203,7 +203,7 @@ namespace QCA
 	/**
 	   \class Base64 qca_textfilter.h QtCrypto
 
-	   Base64 encoding / decoding
+	   %Base64 encoding / decoding
 	*/
 	class QCA_EXPORT Base64 : public TextFilter
 	{