diff --git a/and.lsp b/data-and-control-flow/and.lsp
similarity index 100%
rename from and.lsp
rename to data-and-control-flow/and.lsp
diff --git a/apply.lsp b/data-and-control-flow/apply.lsp
similarity index 100%
rename from apply.lsp
rename to data-and-control-flow/apply.lsp
diff --git a/apropos-list.lsp b/data-and-control-flow/apropos-list.lsp
similarity index 100%
rename from apropos-list.lsp
rename to data-and-control-flow/apropos-list.lsp
diff --git a/assoc-if.lsp b/data-and-control-flow/assoc-if.lsp
similarity index 100%
rename from assoc-if.lsp
rename to data-and-control-flow/assoc-if.lsp
diff --git a/block.lsp b/data-and-control-flow/block.lsp
similarity index 100%
rename from block.lsp
rename to data-and-control-flow/block.lsp
diff --git a/call-arguments-limit.lsp b/data-and-control-flow/call-arguments-limit.lsp
similarity index 100%
rename from call-arguments-limit.lsp
rename to data-and-control-flow/call-arguments-limit.lsp
diff --git a/case.lsp b/data-and-control-flow/case.lsp
similarity index 100%
rename from case.lsp
rename to data-and-control-flow/case.lsp
diff --git a/catch.lsp b/data-and-control-flow/catch.lsp
similarity index 100%
rename from catch.lsp
rename to data-and-control-flow/catch.lsp
diff --git a/ccase.lsp b/data-and-control-flow/ccase.lsp
similarity index 100%
rename from ccase.lsp
rename to data-and-control-flow/ccase.lsp
diff --git a/compiled-function-p.lsp b/data-and-control-flow/compiled-function-p.lsp
similarity index 100%
rename from compiled-function-p.lsp
rename to data-and-control-flow/compiled-function-p.lsp
diff --git a/complement.lsp b/data-and-control-flow/complement.lsp
similarity index 100%
rename from complement.lsp
rename to data-and-control-flow/complement.lsp
diff --git a/cond.lsp b/data-and-control-flow/cond.lsp
similarity index 100%
rename from cond.lsp
rename to data-and-control-flow/cond.lsp
diff --git a/constantly.lsp b/data-and-control-flow/constantly.lsp
similarity index 100%
rename from constantly.lsp
rename to data-and-control-flow/constantly.lsp
diff --git a/ctypecase.lsp b/data-and-control-flow/ctypecase.lsp
similarity index 100%
rename from ctypecase.lsp
rename to data-and-control-flow/ctypecase.lsp
diff --git a/data-and-control-flow.lsp b/data-and-control-flow/data-and-control-flow.lsp
similarity index 100%
rename from data-and-control-flow.lsp
rename to data-and-control-flow/data-and-control-flow.lsp
diff --git a/defconstant.lsp b/data-and-control-flow/defconstant.lsp
similarity index 100%
rename from defconstant.lsp
rename to data-and-control-flow/defconstant.lsp
diff --git a/defgeneric-method-combination-or.lsp b/data-and-control-flow/defgeneric-method-combination-or.lsp
similarity index 100%
rename from defgeneric-method-combination-or.lsp
rename to data-and-control-flow/defgeneric-method-combination-or.lsp
diff --git a/defgeneric-method-combination-progn.lsp b/data-and-control-flow/defgeneric-method-combination-progn.lsp
similarity index 100%
rename from defgeneric-method-combination-progn.lsp
rename to data-and-control-flow/defgeneric-method-combination-progn.lsp
diff --git a/define-modify-macro.lsp b/data-and-control-flow/define-modify-macro.lsp
similarity index 100%
rename from define-modify-macro.lsp
rename to data-and-control-flow/define-modify-macro.lsp
diff --git a/define-setf-expander.lsp b/data-and-control-flow/define-setf-expander.lsp
similarity index 100%
rename from define-setf-expander.lsp
rename to data-and-control-flow/define-setf-expander.lsp
diff --git a/defparameter.lsp b/data-and-control-flow/defparameter.lsp
similarity index 100%
rename from defparameter.lsp
rename to data-and-control-flow/defparameter.lsp
diff --git a/defsetf.lsp b/data-and-control-flow/defsetf.lsp
similarity index 100%
rename from defsetf.lsp
rename to data-and-control-flow/defsetf.lsp
diff --git a/defun.lsp b/data-and-control-flow/defun.lsp
similarity index 100%
rename from defun.lsp
rename to data-and-control-flow/defun.lsp
diff --git a/defvar.lsp b/data-and-control-flow/defvar.lsp
similarity index 100%
rename from defvar.lsp
rename to data-and-control-flow/defvar.lsp
diff --git a/destructuring-bind.lsp b/data-and-control-flow/destructuring-bind.lsp
similarity index 100%
rename from destructuring-bind.lsp
rename to data-and-control-flow/destructuring-bind.lsp
diff --git a/ensure-generic-function.lsp b/data-and-control-flow/ensure-generic-function.lsp
similarity index 100%
rename from ensure-generic-function.lsp
rename to data-and-control-flow/ensure-generic-function.lsp
diff --git a/eql.lsp b/data-and-control-flow/eql.lsp
similarity index 100%
rename from eql.lsp
rename to data-and-control-flow/eql.lsp
diff --git a/equal.lsp b/data-and-control-flow/equal.lsp
similarity index 100%
rename from equal.lsp
rename to data-and-control-flow/equal.lsp
diff --git a/equalp.lsp b/data-and-control-flow/equalp.lsp
similarity index 100%
rename from equalp.lsp
rename to data-and-control-flow/equalp.lsp
diff --git a/etypecase.lsp b/data-and-control-flow/etypecase.lsp
similarity index 100%
rename from etypecase.lsp
rename to data-and-control-flow/etypecase.lsp
diff --git a/eval-when.lsp b/data-and-control-flow/eval-when.lsp
similarity index 100%
rename from eval-when.lsp
rename to data-and-control-flow/eval-when.lsp
diff --git a/every.lsp b/data-and-control-flow/every.lsp
similarity index 100%
rename from every.lsp
rename to data-and-control-flow/every.lsp
diff --git a/fboundp.lsp b/data-and-control-flow/fboundp.lsp
similarity index 100%
rename from fboundp.lsp
rename to data-and-control-flow/fboundp.lsp
diff --git a/fdefinition.lsp b/data-and-control-flow/fdefinition.lsp
similarity index 100%
rename from fdefinition.lsp
rename to data-and-control-flow/fdefinition.lsp
diff --git a/flet.lsp b/data-and-control-flow/flet.lsp
similarity index 100%
rename from flet.lsp
rename to data-and-control-flow/flet.lsp
diff --git a/fmakunbound.lsp b/data-and-control-flow/fmakunbound.lsp
similarity index 100%
rename from fmakunbound.lsp
rename to data-and-control-flow/fmakunbound.lsp
diff --git a/funcall.lsp b/data-and-control-flow/funcall.lsp
similarity index 100%
rename from funcall.lsp
rename to data-and-control-flow/funcall.lsp
diff --git a/function-lambda-expression.lsp b/data-and-control-flow/function-lambda-expression.lsp
similarity index 100%
rename from function-lambda-expression.lsp
rename to data-and-control-flow/function-lambda-expression.lsp
diff --git a/functionp.lsp b/data-and-control-flow/functionp.lsp
similarity index 100%
rename from functionp.lsp
rename to data-and-control-flow/functionp.lsp
diff --git a/get-setf-expansion.lsp b/data-and-control-flow/get-setf-expansion.lsp
similarity index 100%
rename from get-setf-expansion.lsp
rename to data-and-control-flow/get-setf-expansion.lsp
diff --git a/identity.lsp b/data-and-control-flow/identity.lsp
similarity index 100%
rename from identity.lsp
rename to data-and-control-flow/identity.lsp
diff --git a/labels.lsp b/data-and-control-flow/labels.lsp
similarity index 100%
rename from labels.lsp
rename to data-and-control-flow/labels.lsp
diff --git a/lambda-list-keywords.lsp b/data-and-control-flow/lambda-list-keywords.lsp
similarity index 100%
rename from lambda-list-keywords.lsp
rename to data-and-control-flow/lambda-list-keywords.lsp
diff --git a/lambda-parameters-limit.lsp b/data-and-control-flow/lambda-parameters-limit.lsp
similarity index 100%
rename from lambda-parameters-limit.lsp
rename to data-and-control-flow/lambda-parameters-limit.lsp
diff --git a/letstar.lsp b/data-and-control-flow/letstar.lsp
similarity index 100%
rename from letstar.lsp
rename to data-and-control-flow/letstar.lsp
diff --git a/macrolet.lsp b/data-and-control-flow/macrolet.lsp
similarity index 100%
rename from macrolet.lsp
rename to data-and-control-flow/macrolet.lsp
diff --git a/multiple-value-bind.lsp b/data-and-control-flow/multiple-value-bind.lsp
similarity index 100%
rename from multiple-value-bind.lsp
rename to data-and-control-flow/multiple-value-bind.lsp
diff --git a/multiple-value-call.lsp b/data-and-control-flow/multiple-value-call.lsp
similarity index 100%
rename from multiple-value-call.lsp
rename to data-and-control-flow/multiple-value-call.lsp
diff --git a/multiple-value-list.lsp b/data-and-control-flow/multiple-value-list.lsp
similarity index 100%
rename from multiple-value-list.lsp
rename to data-and-control-flow/multiple-value-list.lsp
diff --git a/multiple-value-prog1.lsp b/data-and-control-flow/multiple-value-prog1.lsp
similarity index 100%
rename from multiple-value-prog1.lsp
rename to data-and-control-flow/multiple-value-prog1.lsp
diff --git a/multiple-value-setq.lsp b/data-and-control-flow/multiple-value-setq.lsp
similarity index 100%
rename from multiple-value-setq.lsp
rename to data-and-control-flow/multiple-value-setq.lsp
diff --git a/nil.lsp b/data-and-control-flow/nil.lsp
similarity index 100%
rename from nil.lsp
rename to data-and-control-flow/nil.lsp
diff --git a/not-and-null.lsp b/data-and-control-flow/not-and-null.lsp
similarity index 100%
rename from not-and-null.lsp
rename to data-and-control-flow/not-and-null.lsp
diff --git a/notany.lsp b/data-and-control-flow/notany.lsp
similarity index 100%
rename from notany.lsp
rename to data-and-control-flow/notany.lsp
diff --git a/notevery.lsp b/data-and-control-flow/notevery.lsp
similarity index 100%
rename from notevery.lsp
rename to data-and-control-flow/notevery.lsp
diff --git a/nth-value.lsp b/data-and-control-flow/nth-value.lsp
similarity index 100%
rename from nth-value.lsp
rename to data-and-control-flow/nth-value.lsp
diff --git a/places.lsp b/data-and-control-flow/places.lsp
similarity index 100%
rename from places.lsp
rename to data-and-control-flow/places.lsp
diff --git a/prog.lsp b/data-and-control-flow/prog.lsp
similarity index 100%
rename from prog.lsp
rename to data-and-control-flow/prog.lsp
diff --git a/prog2.lsp b/data-and-control-flow/prog2.lsp
similarity index 100%
rename from prog2.lsp
rename to data-and-control-flow/prog2.lsp
diff --git a/progv.lsp b/data-and-control-flow/progv.lsp
similarity index 100%
rename from progv.lsp
rename to data-and-control-flow/progv.lsp
diff --git a/psetf.lsp b/data-and-control-flow/psetf.lsp
similarity index 100%
rename from psetf.lsp
rename to data-and-control-flow/psetf.lsp
diff --git a/psetq.lsp b/data-and-control-flow/psetq.lsp
similarity index 100%
rename from psetq.lsp
rename to data-and-control-flow/psetq.lsp
diff --git a/return-from.lsp b/data-and-control-flow/return-from.lsp
similarity index 100%
rename from return-from.lsp
rename to data-and-control-flow/return-from.lsp
diff --git a/return.lsp b/data-and-control-flow/return.lsp
similarity index 100%
rename from return.lsp
rename to data-and-control-flow/return.lsp
diff --git a/rotatef.lsp b/data-and-control-flow/rotatef.lsp
similarity index 100%
rename from rotatef.lsp
rename to data-and-control-flow/rotatef.lsp
diff --git a/shiftf.lsp b/data-and-control-flow/shiftf.lsp
similarity index 100%
rename from shiftf.lsp
rename to data-and-control-flow/shiftf.lsp
diff --git a/some.lsp b/data-and-control-flow/some.lsp
similarity index 100%
rename from some.lsp
rename to data-and-control-flow/some.lsp
diff --git a/tagbody.lsp b/data-and-control-flow/tagbody.lsp
similarity index 100%
rename from tagbody.lsp
rename to data-and-control-flow/tagbody.lsp
diff --git a/unless.lsp b/data-and-control-flow/unless.lsp
similarity index 100%
rename from unless.lsp
rename to data-and-control-flow/unless.lsp
diff --git a/unwind-protect.lsp b/data-and-control-flow/unwind-protect.lsp
similarity index 100%
rename from unwind-protect.lsp
rename to data-and-control-flow/unwind-protect.lsp
diff --git a/values-list.lsp b/data-and-control-flow/values-list.lsp
similarity index 100%
rename from values-list.lsp
rename to data-and-control-flow/values-list.lsp
diff --git a/values.lsp b/data-and-control-flow/values.lsp
similarity index 100%
rename from values.lsp
rename to data-and-control-flow/values.lsp
diff --git a/load-data-and-control-flow.lsp b/load-data-and-control-flow.lsp
index f5cab57694e68d17582b3351609ded015065d3d9..c135aebf953e31d56dcbe40985ebf29936a57df4 100644
--- a/load-data-and-control-flow.lsp
+++ b/load-data-and-control-flow.lsp
@@ -1,79 +1,79 @@
 ;;; Tests of data and control flow
 
-(load "data-and-control-flow.lsp")
-(load "places.lsp")
-(load "psetq.lsp")
-(load "psetf.lsp")
-(load "shiftf.lsp")
-(load "rotatef.lsp")
-(load "return.lsp")
-(load "return-from.lsp")
-(load "defsetf.lsp")
-(load "define-setf-expander.lsp")
+(load "data-and-control-flow/data-and-control-flow.lsp")
+(load "data-and-control-flow/places.lsp")
+(load "data-and-control-flow/psetq.lsp")
+(load "data-and-control-flow/psetf.lsp")
+(load "data-and-control-flow/shiftf.lsp")
+(load "data-and-control-flow/rotatef.lsp")
+(load "data-and-control-flow/return.lsp")
+(load "data-and-control-flow/return-from.lsp")
+(load "data-and-control-flow/defsetf.lsp")
+(load "data-and-control-flow/define-setf-expander.lsp")
 
-(load "and.lsp")
-(load "apply.lsp")
-(load "block.lsp")
-(load "call-arguments-limit.lsp")
-(load "case.lsp")
-(load "catch.lsp")
-(load "ccase.lsp")
-(load "compiled-function-p.lsp")
-(load "complement.lsp")
-(load "cond.lsp")
-(load "constantly.lsp")
-(load "ctypecase.lsp")
-(load "defconstant.lsp")
-(load "define-modify-macro.lsp")
-(load "defparameter.lsp")
-(load "defun.lsp")
-(load "defvar.lsp")
-(load "destructuring-bind.lsp")
-(load "ecase.lsp")
-(load "eql.lsp")
-(load "equal.lsp")
-(load "equalp.lsp")
-(load "etypecase.lsp")
-(load "every.lsp")
-(load "fboundp.lsp")
-(load "fdefinition.lsp")
-(load "flet.lsp")
-(load "fmakunbound.lsp")
-(load "funcall.lsp")
-(load "function-lambda-expression.lsp")
-(load "function.lsp")
-(load "functionp.lsp")
-(load "get-setf-expansion.lsp")
-(load "identity.lsp")
-(load "if.lsp")
-(load "labels.lsp")
-(load "lambda-list-keywords.lsp")
-(load "lambda-parameters-limit.lsp")
-(load "let.lsp")
-(load "letstar.lsp")
-(load "macrolet.lsp")
-(load "multiple-value-bind.lsp")
-(load "multiple-value-call.lsp") ;; include multiple-value-list
-(load "multiple-value-prog1.lsp")
-(load "multiple-value-setq.lsp")
-(load "multiple-value-list.lsp")
-(load "nil.lsp")
-(load "not-and-null.lsp")
-(load "notany.lsp")
-(load "notevery.lsp")
-(load "nth-value.lsp")
-(load "or.lsp")
-(load "prog.lsp")
-(load "prog1.lsp")
-(load "prog2.lsp")
-(load "progn.lsp")
-(load "progv.lsp")
-(load "some.lsp")
-(load "t.lsp")
-(load "tagbody.lsp")
-(load "typecase.lsp")
-(load "unless.lsp")
-(load "unwind-protect.lsp")
-(load "values-list.lsp")
-(load "values.lsp")
-(load "when.lsp")
+(load "data-and-control-flow/and.lsp")
+(load "data-and-control-flow/apply.lsp")
+(load "data-and-control-flow/block.lsp")
+(load "data-and-control-flow/call-arguments-limit.lsp")
+(load "data-and-control-flow/case.lsp")
+(load "data-and-control-flow/catch.lsp")
+(load "data-and-control-flow/ccase.lsp")
+(load "data-and-control-flow/compiled-function-p.lsp")
+(load "data-and-control-flow/complement.lsp")
+(load "data-and-control-flow/cond.lsp")
+(load "data-and-control-flow/constantly.lsp")
+(load "data-and-control-flow/ctypecase.lsp")
+(load "data-and-control-flow/defconstant.lsp")
+(load "data-and-control-flow/define-modify-macro.lsp")
+(load "data-and-control-flow/defparameter.lsp")
+(load "data-and-control-flow/defun.lsp")
+(load "data-and-control-flow/defvar.lsp")
+(load "data-and-control-flow/destructuring-bind.lsp")
+(load "data-and-control-flow/ecase.lsp")
+(load "data-and-control-flow/eql.lsp")
+(load "data-and-control-flow/equal.lsp")
+(load "data-and-control-flow/equalp.lsp")
+(load "data-and-control-flow/etypecase.lsp")
+(load "data-and-control-flow/every.lsp")
+(load "data-and-control-flow/fboundp.lsp")
+(load "data-and-control-flow/fdefinition.lsp")
+(load "data-and-control-flow/flet.lsp")
+(load "data-and-control-flow/fmakunbound.lsp")
+(load "data-and-control-flow/funcall.lsp")
+(load "data-and-control-flow/function-lambda-expression.lsp")
+(load "data-and-control-flow/function.lsp")
+(load "data-and-control-flow/functionp.lsp")
+(load "data-and-control-flow/get-setf-expansion.lsp")
+(load "data-and-control-flow/identity.lsp")
+(load "data-and-control-flow/if.lsp")
+(load "data-and-control-flow/labels.lsp")
+(load "data-and-control-flow/lambda-list-keywords.lsp")
+(load "data-and-control-flow/lambda-parameters-limit.lsp")
+(load "data-and-control-flow/let.lsp")
+(load "data-and-control-flow/letstar.lsp")
+(load "data-and-control-flow/macrolet.lsp")
+(load "data-and-control-flow/multiple-value-bind.lsp")
+(load "data-and-control-flow/multiple-value-call.lsp") ;; include multiple-value-list
+(load "data-and-control-flow/multiple-value-prog1.lsp")
+(load "data-and-control-flow/multiple-value-setq.lsp")
+(load "data-and-control-flow/multiple-value-list.lsp")
+(load "data-and-control-flow/nil.lsp")
+(load "data-and-control-flow/not-and-null.lsp")
+(load "data-and-control-flow/notany.lsp")
+(load "data-and-control-flow/notevery.lsp")
+(load "data-and-control-flow/nth-value.lsp")
+(load "data-and-control-flow/or.lsp")
+(load "data-and-control-flow/prog.lsp")
+(load "data-and-control-flow/prog1.lsp")
+(load "data-and-control-flow/prog2.lsp")
+(load "data-and-control-flow/progn.lsp")
+(load "data-and-control-flow/progv.lsp")
+(load "data-and-control-flow/some.lsp")
+(load "data-and-control-flow/t.lsp")
+(load "data-and-control-flow/tagbody.lsp")
+(load "data-and-control-flow/typecase.lsp")
+(load "data-and-control-flow/unless.lsp")
+(load "data-and-control-flow/unwind-protect.lsp")
+(load "data-and-control-flow/values-list.lsp")
+(load "data-and-control-flow/values.lsp")
+(load "data-and-control-flow/when.lsp")