diff --git a/src/main/java/org/caosdb/server/accessControl/UserSources.java b/src/main/java/org/caosdb/server/accessControl/UserSources.java
index 63254c1b5f60376f243878570a3625f5e72ec7a1..b169849b4ec910d998e6e4184a195ef804c2a9f8 100644
--- a/src/main/java/org/caosdb/server/accessControl/UserSources.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserSources.java
@@ -282,6 +282,10 @@ public class UserSources extends HashMap<String, UserSource> {
     return false;
   }
 
+  /**
+   * Log the current time as the user's last visit.
+   *
+   */
   public static void logUserVisit(String realm, String username, String type) {
     try {
       LogUserVisitTransaction t =
diff --git a/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java
index 3c18356f0cf097488e5e98c4626c34fd66917119..38c253e2e76075c83a7874d581f8b97d25a382f5 100644
--- a/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java
@@ -21,5 +21,6 @@ package org.caosdb.server.database.backend.interfaces;
 
 public interface LogUserVisitImpl extends BackendTransactionImpl {
 
+  /** Return true if this is not the first visit of this user. */
   boolean logUserReturnIsKnown(long timestamp, String realm, String username, String type);
 }
diff --git a/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java b/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java
index 1baf05ff4a6d584c47fc60f8e5be7898df99bc99..0079af6f25bfcc6f9471786d17f821e66fcd3c2b 100644
--- a/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java
+++ b/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java
@@ -288,6 +288,7 @@ public class AccessControlManagementServiceImpl extends AccessControlManagementS
         .build();
   }
 
+  /** What can be done with this role. */
   private Iterable<? extends RoleCapabilities> getRoleCapabilities(Role role) {
     List<RoleCapabilities> result = new LinkedList<>();
     if (org.caosdb.server.permissions.Role.ADMINISTRATION.toString().equals(role.name)) {
@@ -304,6 +305,7 @@ public class AccessControlManagementServiceImpl extends AccessControlManagementS
     return result;
   }
 
+  /** The permissions of the current user w.r.t. this role. */
   private Iterable<? extends RolePermissions> getRolePermissions(Role role) {
     List<RolePermissions> result = new LinkedList<>();
     Subject current_user = SecurityUtils.getSubject();
diff --git a/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
index 41322b5173c3d3d1e13a69a589ae71e145932809..1fca0525f0e82e60c7124dc541ec0e0c09dabf71 100644
--- a/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
@@ -43,6 +43,9 @@ import org.caosdb.server.utils.ServerMessages;
 import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 
+/**
+ * This transaction also checks if the current user has sufficient permissions to make the update.
+ */
 public class UpdateUserTransaction extends AccessControlTransaction {
 
   private final String password;