diff --git a/.gitignore b/.gitignore
index 536975d03..9d55e4828 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.nosqlbench/**
.run/**
workspaces/**
workshop/**
diff --git a/devdocs/devguide/_tosort/rate_net.svg b/devdocs/devguide/_tosort/rate_net.svg
new file mode 100644
index 000000000..56ca62dff
--- /dev/null
+++ b/devdocs/devguide/_tosort/rate_net.svg
@@ -0,0 +1,2534 @@
+
+
diff --git a/driver-directapi/pom.xml b/driver-directapi/pom.xml
new file mode 100644
index 000000000..fc91668b2
--- /dev/null
+++ b/driver-directapi/pom.xml
@@ -0,0 +1,31 @@
+
+ 4.0.0
+
+
+ mvn-defaults
+ io.nosqlbench
+ 4.15.65-SNAPSHOT
+ ../mvn-defaults
+
+
+ driver-directapi
+ jar
+ ${project.artifactId}
+
+
+ A direct API nosqlbench ActivityType (AT) driver module
+
+
+
+
+
+ io.nosqlbench
+ drivers-api
+ 4.15.65-SNAPSHOT
+
+
+
+
+
diff --git a/engine-cli/src/test/resources/activities/scenario-formats-test.yaml b/engine-cli/src/test/resources/activities/scenario-formats-test.yaml
new file mode 100644
index 000000000..36974be90
--- /dev/null
+++ b/engine-cli/src/test/resources/activities/scenario-formats-test.yaml
@@ -0,0 +1,6 @@
+name: alternate-format-test
+scenarios:
+ default:
+ - run driver=cql cqldriver=oss protocol_version=v4 tags=phase:schema threads==1 cycles=UNDEF
+ - run driver=cql cqldriver=oss protocol_version=v4 tags=phase:rampup cycles=10000
+ - run driver=cql cqldriver=oss protocol_version=v4 tags=phase:main_mixed cycles=10000
diff --git a/nb-annotations/src/main/java/io/nosqlbench/nb/annotations/Service.java b/nb-annotations/src/main/java/io/nosqlbench/nb/annotations/Service.java
index dfc4308c0..62fc03aee 100644
--- a/nb-annotations/src/main/java/io/nosqlbench/nb/annotations/Service.java
+++ b/nb-annotations/src/main/java/io/nosqlbench/nb/annotations/Service.java
@@ -30,7 +30,5 @@ import java.lang.annotation.Target;
@Target(ElementType.TYPE)
public @interface Service {
Class> value();
-
String selector();
-
}