diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java
index 3fc806229..fc8f69daf 100644
--- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java
+++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java
@@ -2,5 +2,30 @@ package io.nosqlbench.engine.api.activityimpl;
import java.util.function.LongFunction;
+/**
+ *
+ *
Synopsis
+ * An OpDispenser is responsible for mapping a cycle number into
+ * an executable operation. This is where Op Synthesis occurs
+ * in NoSQLBench -- The process of building executable operations from
+ * templates.
+ *
+ *
+ *
Concepts
+ * Op Synthesis is the process of building a specific and executable
+ * operation for some (low level driver) API by combining the
+ * static and dynamic elements of the operation together.
+ * In most cases, implementations of OpDispenser will be constructed
+ * within the logic of an {@link OpMapper} which is responsible for
+ * determine the type of OpDispenser to use as associated with a specific
+ * type {@code ()}.
+ *
+ *
+ * @param The parameter type of the actual operation which will be used
+ * to hold all the details for executing an operation,
+ * generally something that implements {@link Runnable}.
+ */
public interface OpDispenser extends LongFunction {
+@Override
+ T apply(long value);
}