diff --git a/README_SETUP.md b/README_SETUP.md
index 64e613ddd481a9bc3b83f625d9d3eef04985025f..37d3e4786ee17db6792c084d21132600be87e1ed 100644
--- a/README_SETUP.md
+++ b/README_SETUP.md
@@ -197,10 +197,11 @@ Stand-alone documentation is built using Sphinx: `make doc`
 
 ### Requirements ##
 
+- plantuml
+- recommonmark
 - sphinx
-* sphinx-rtd-theme
-* sphinxcontrib-plantuml
-* recommonmark
+- sphinx-rtd-theme
+- sphinxcontrib-plantuml
 - javasphinx :: `pip3 install --user javasphinx`
   - Alternative, if javasphinx fails because python3-sphinx is too recent:
     (`l_` not found):
diff --git a/src/main/java/org/caosdb/server/jobs/JobAnnotation.java b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
index b1493f13db8cca97a99c9241903693e3e02dba78..8acdaccb9f56b0b779474c510b0216a1a327971a 100644
--- a/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
+++ b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
@@ -26,7 +26,12 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import org.caosdb.server.transaction.TransactionInterface;
 
-/** Jobs may be annotated with @JobAnnotation(...). */
+/**
+ * Jobs may be annotated with @JobAnnotation(...).
+ *
+ * <p>Without a JobAnnotation, the Job will run at the default {@link
+ * org.caosdb.server.transaction.Transaction#check() CHECK} stage.
+ */
 @Retention(RetentionPolicy.RUNTIME)
 public @interface JobAnnotation {
   JobExecutionTime time() default JobExecutionTime.CHECK;
diff --git a/src/main/java/org/caosdb/server/jobs/Schedule.java b/src/main/java/org/caosdb/server/jobs/Schedule.java
index 58630648ce60082d15d49e7f41f443c7395a3a50..892f590fe4497bf1083a002eedccc2bcb374cf13 100644
--- a/src/main/java/org/caosdb/server/jobs/Schedule.java
+++ b/src/main/java/org/caosdb/server/jobs/Schedule.java
@@ -30,7 +30,13 @@ import java.util.Map;
 import java.util.concurrent.CopyOnWriteArrayList;
 import org.caosdb.server.entity.EntityInterface;
 
-/** Keeps track of Jobs, ordered by "time". */
+/**
+ * Keeps track of Jobs.
+ *
+ * <p>The Schedule class orders jobs by "time" and also assures that jobs are skipped when
+ * appropriate and to prevent that jobs run more than once (because sometimes they trigger each
+ * other).
+ */
 public class Schedule {
 
   private final Map<Integer, List<ScheduledJob>> jobLists = new HashMap<>();