diff --git a/common/rfb/VNCSConnectionST.h b/common/rfb/VNCSConnectionST.h
index d09f733..1b7d59a 100644
--- a/common/rfb/VNCSConnectionST.h
+++ b/common/rfb/VNCSConnectionST.h
@@ -100,6 +100,9 @@
     bool needRenderedCursor();
 
     network::Socket* getSock() { return sock; }
+
+    // Change tracking
+
     void add_changed(const Region& region) { updates.add_changed(region); }
     void add_copied(const Region& dest, const Point& delta) {
       updates.add_copied(dest, delta);
@@ -152,6 +155,7 @@
     void setLEDState(unsigned int state);
     void setSocketTimeouts();
 
+  private:
     network::Socket* sock;
     CharArray peerEndpoint;
     bool reverseConnection;
diff --git a/common/rfb/VNCServerST.h b/common/rfb/VNCServerST.h
index f4b0d3f..545b9a4 100644
--- a/common/rfb/VNCServerST.h
+++ b/common/rfb/VNCServerST.h
@@ -148,6 +148,8 @@
     // ready to be sent to clients
     Region getPendingRegion();
 
+    // getRenderedCursor() returns an up to date version of the server
+    // side rendered cursor buffer
     const RenderedCursor* getRenderedCursor();
 
   protected:
@@ -160,6 +162,17 @@
     void startDesktop();
     void stopDesktop();
 
+    // - Check how many of the clients are authenticated.
+    int authClientCount();
+
+    bool needRenderedCursor();
+    void startFrameClock();
+    void stopFrameClock();
+    void writeUpdate();
+
+    bool getComparerState();
+
+  protected:
     Blacklist blacklist;
     Blacklist* blHosts;
 
@@ -183,16 +196,6 @@
     RenderedCursor renderedCursor;
     bool renderedCursorInvalid;
 
-    // - Check how many of the clients are authenticated.
-    int authClientCount();
-
-    bool needRenderedCursor();
-    void startFrameClock();
-    void stopFrameClock();
-    void writeUpdate();
-
-    bool getComparerState();
-
     KeyRemapper* keyRemapper;
 
     time_t lastUserInputTime;
