diff --git a/schemas/AVCL.3.1.changes.txt b/schemas/AVCL.3.1.changes.txt
index 4cee9c730cccaba65f72c986b30331ae52411950..6d96db8b377473b47dfc0557d45fbc273f09cac8 100644
--- a/schemas/AVCL.3.1.changes.txt
+++ b/schemas/AVCL.3.1.changes.txt
@@ -15,12 +15,11 @@ Changes to body
 - rename AgendaMission         to MissionAgenda
 - rename MissionResults        to MissionTelemetryLog
 - rename GuidedMunitionMission to MissionGuidedMunition
+- @vehicleName                 to Vehicle
 - relax attributes as optional, wherever appropriate
-- modified content model to include Location and Vehicle, TODO add them
+- modified content model to include Location and Vehicle as part of overall mission, not GoalList
 
-Can a Vehicle refer to a Mission and a Location (probably), or does a Mission refer to a Vehicle and a Location (probably not)?
-
-Does a Location solely contain GeoOrigin, or can GeoOrigin appear with a Mission?
+TODO Does a Location solely contain GeoOrigin, or can GeoOrigin appear with a Mission?
 
 TODO Location can be point, line, area, or volume
 
@@ -33,7 +32,6 @@ TODO MissionArchive can contain Vehicle+ Mission+
 prior: AVCL Schema 3.0
 
 TODO
-- AVCL/@vehicleName should not be required
 - Avcl3ToAvcl2.xslt converter
 
 Fixed
diff --git a/schemas/AVCL.3.1.xsd b/schemas/AVCL.3.1.xsd
index 79731a10f8a8fdf34d202a15316c1297a8a18c74..8cd769eafbdea40b572af036b871db1dc72f446a 100644
--- a/schemas/AVCL.3.1.xsd
+++ b/schemas/AVCL.3.1.xsd
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XMLSpy v2022 rel. 2 (x64) (http://www.altova.com) by  (Naval Postgraduate School) -->
+<!-- edited with XMLSpy v2023 rel. 2 (x64) (http://www.altova.com) by Don Brutzman (Naval Postgraduate School) -->
 <!--
 <head>
    <meta name="filename"     content="AVCL.2.1.xsd" />
@@ -10,6 +10,7 @@
    <meta name="created version 2.1"  content="1 November 2012"/>
    <meta name="created version 3.0"  content="23 October 2019"/>
    <meta name="created version 3.1"  content="4 July 2022"/>
+   <meta name="modified"             content="30 August 2023"/>
    <meta name="identifier"   content="https://savage.nps.edu/Savage/EthicalControl/schemas/AVCL.3.1.xsd" />
    <meta name="description"  content="This file contains the schema for the XML autonomous vehicle command
                                     language. In general, the command language enables the explicit declaration of an entire mission using
@@ -47,6 +48,70 @@
 			</xsd:attribute>
 		</xsd:complexType>
 	</xsd:element>
+	<xsd:element name="head" type="avclHeadType"/>
+	<xsd:element name="body">
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="avclBodyType">
+					<xsd:choice minOccurs="0" maxOccurs="unbounded">
+						<xsd:element name="Vehicle" minOccurs="0">
+							<xsd:annotation>
+								<xsd:documentation>robot UAV UUV USV UGV</xsd:documentation>
+							</xsd:annotation>
+							<xsd:complexType>
+								<xsd:attribute name="vehicleName" type="xsd:string" use="optional">
+									<xsd:annotation>
+										<xsd:documentation>informal</xsd:documentation>
+									</xsd:annotation>
+								</xsd:attribute>
+								<xsd:attribute name="vehicleType" type="vehicleType" use="optional">
+									<xsd:annotation>
+										<xsd:documentation>UAV, UGV, USV, or UUV, ROV, AGENDA, MUNITION, SSGN and UNKNOWN are supported vehicleType values.</xsd:documentation>
+									</xsd:annotation>
+								</xsd:attribute>
+								<xsd:attribute name="vehicleID" type="xsd:unsignedShort" use="optional" default="0">
+									<xsd:annotation>
+										<xsd:documentation>integer ID number of vehicle, commonly used for DIS or virtual environment indexing</xsd:documentation>
+									</xsd:annotation>
+								</xsd:attribute>
+							</xsd:complexType>
+						</xsd:element>
+						<xsd:element ref="GeoOrigin" minOccurs="0">
+							<xsd:annotation>
+								<xsd:documentation>Defines a geographic origin for cartesian relative positions in this mission document.</xsd:documentation>
+							</xsd:annotation>
+						</xsd:element>
+						<xsd:element ref="OperatingArea" minOccurs="0"/>
+						<xsd:element ref="LaunchPosition" minOccurs="0"/>
+						<xsd:element ref="RecoveryPosition" minOccurs="0"/>
+						<xsd:sequence>
+							<xsd:annotation>
+								<xsd:documentation>Mission</xsd:documentation>
+							</xsd:annotation>
+							<xsd:element ref="MissionAgenda" minOccurs="0">
+								<xsd:annotation>
+									<xsd:documentation>Declarative strategic-level list of mission goals and constraints, suitable for robot mision planning to generate Waypoint lists and other executable script commands</xsd:documentation>
+								</xsd:annotation>
+							</xsd:element>
+							<xsd:element ref="MissionCommands" minOccurs="0"/>
+							<xsd:element ref="MissionTelemetry" minOccurs="0"/>
+							<xsd:element ref="MissionArchive" minOccurs="0"/>
+						</xsd:sequence>
+						<xsd:element name="TimeOffset" minOccurs="0">
+							<xsd:complexType>
+								<xsd:attribute name="date" type="xsd:date" use="optional">
+									<xsd:annotation>
+										<xsd:documentation>Date of mission conduct</xsd:documentation>
+									</xsd:annotation>
+								</xsd:attribute>
+							</xsd:complexType>
+						</xsd:element>
+						<xsd:element ref="UnitsOfMeasure" minOccurs="0"/>
+					</xsd:choice>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
 	<xsd:element name="Acknowledge" type="acknowledgeElementType"/>
 	<xsd:element name="MissionAgenda" type="agendaMissionElementType">
 		<xsd:annotation>
@@ -109,62 +174,6 @@
 		</xsd:annotation>
 	</xsd:element>
 	<xsd:element name="Beacon" type="stringElementType"/>
-	<xsd:element name="body">
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="avclBodyType">
-					<xsd:choice minOccurs="0" maxOccurs="unbounded">
-						<xsd:element name="Vehicle" minOccurs="0">
-							<xsd:annotation>
-								<xsd:documentation>robot UAV UUV USV UGV</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:attribute name="vehicleType" type="vehicleType" use="optional">
-									<xsd:annotation>
-										<xsd:documentation>UAV, UGV, USV, or UUV, ROV, AGENDA, MUNITION, SSGN and UNKNOWN are supported vehicleType values.</xsd:documentation>
-									</xsd:annotation>
-								</xsd:attribute>
-								<xsd:attribute name="vehicleID" type="xsd:unsignedShort" use="optional" default="0">
-									<xsd:annotation>
-										<xsd:documentation>integer ID number of vehicle, commonly used for DIS or virtual environment indexing</xsd:documentation>
-									</xsd:annotation>
-								</xsd:attribute>
-							</xsd:complexType>
-						</xsd:element>
-						<xsd:sequence minOccurs="0">
-							<xsd:annotation>
-								<xsd:documentation>Mission</xsd:documentation>
-							</xsd:annotation>
-							<xsd:element ref="MissionAgenda" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Declarative strategic-level list of mission goals and constraints, suitable for robot mision planning to generate Waypoint lists and other executable script commands</xsd:documentation>
-								</xsd:annotation>
-							</xsd:element>
-							<xsd:element ref="MissionCommands" minOccurs="0"/>
-							<xsd:element ref="MissionTelemetry" minOccurs="0"/>
-							<xsd:element ref="MissionArchive" minOccurs="0"/>
-						</xsd:sequence>
-						<xsd:element ref="GeoOrigin" minOccurs="0">
-							<xsd:annotation>
-								<xsd:documentation>Defines a geographic origin for cartesian relative positions in this mission document.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="OperatingArea" minOccurs="0"/>
-						<xsd:element name="TimeOffset" minOccurs="0">
-							<xsd:complexType>
-								<xsd:attribute name="date" type="xsd:date" use="optional">
-									<xsd:annotation>
-										<xsd:documentation>Date of mission conduct</xsd:documentation>
-									</xsd:annotation>
-								</xsd:attribute>
-							</xsd:complexType>
-						</xsd:element>
-						<xsd:element ref="UnitsOfMeasure" minOccurs="0"/>
-					</xsd:choice>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
 	<xsd:element name="BodyCoordinateVelocity" type="bodyCoordinateVelocityElementType"/>
 	<xsd:element name="BodyThrusters" type="uuvBodyThrustersOrderElementType"/>
 	<xsd:element name="BowLateralThruster" type="signedPercentElementType"/>
@@ -327,7 +336,6 @@
 			<xsd:documentation>Imperative execution-level mission command script</xsd:documentation>
 		</xsd:annotation>
 	</xsd:element>
-	<xsd:element name="head" type="avclHeadType"/>
 	<xsd:element name="Heading" type="headingElementType"/>
 	<xsd:element name="Height" type="positiveScalarElementType"/>
 	<xsd:element name="Help" type="noValueElementType">
@@ -1493,26 +1501,20 @@
 		</xsd:annotation>
 		<xsd:sequence>
 			<xsd:element ref="Goal" maxOccurs="unbounded"/>
-			<xsd:element ref="Risk" minOccurs="0" maxOccurs="unbounded">
-				<xsd:annotation>
-					<xsd:documentation>Shared by all goals: list of Risk elements requiring consideration prior to human ordering robot to perform goal</xsd:documentation>
-				</xsd:annotation>
-			</xsd:element>
-			<xsd:element ref="OperatingArea" minOccurs="0">
-				<xsd:annotation>
-					<xsd:documentation>Shared by all goals: horizontal area for conducting mission-goal operations, with optional vertical constraints</xsd:documentation>
-				</xsd:annotation>
-			</xsd:element>
-			<xsd:group ref="TimingTypeElements" minOccurs="0">
-				<xsd:annotation>
-					<xsd:documentation>Shared by all goals: elements utilized to specify timing requirements of an agenda goal.</xsd:documentation>
-				</xsd:annotation>
-			</xsd:group>
-			<xsd:element ref="ReportingCriteria" minOccurs="0" maxOccurs="unbounded">
-				<xsd:annotation>
-					<xsd:documentation>Shared by all goals: requirements for reporting mission status and results</xsd:documentation>
-				</xsd:annotation>
-			</xsd:element>
+			<xsd:choice minOccurs="0" maxOccurs="unbounded">
+				<xsd:element ref="ConstraintList" minOccurs="0"/>
+				<xsd:element ref="ReportingCriteria" minOccurs="0" maxOccurs="unbounded">
+					<xsd:annotation>
+						<xsd:documentation>Shared by all goals: requirements for reporting mission status and results</xsd:documentation>
+					</xsd:annotation>
+				</xsd:element>
+				<xsd:element ref="Risk" minOccurs="0" maxOccurs="unbounded">
+					<xsd:annotation>
+						<xsd:documentation>Shared by all goals: list of Risk elements requiring consideration prior to human ordering robot to perform goal</xsd:documentation>
+					</xsd:annotation>
+				</xsd:element>
+				<xsd:group ref="TimingTypeElements" minOccurs="0"/>
+			</xsd:choice>
 		</xsd:sequence>
 		<xsd:attributeGroup ref="CommonAttributes"/>
 	</xsd:complexType>
@@ -1522,9 +1524,6 @@
 		</xsd:annotation>
 		<xsd:sequence>
 			<xsd:element ref="GoalList"/>
-			<xsd:element ref="ConstraintList" minOccurs="0"/>
-			<xsd:element ref="LaunchPosition" minOccurs="0"/>
-			<xsd:element ref="RecoveryPosition" minOccurs="0"/>
 		</xsd:sequence>
 		<xsd:attributeGroup ref="CommonAttributes"/>
 	</xsd:complexType>
@@ -3939,7 +3938,13 @@
                  			<xsd:element name="GpsFixFailed" type="noValueElementType"/>
           		</xsd:choice>
    	</xsd:group> -->
-	<xsd:element name="Risk" type="riskElementType"/>
+	<xsd:element name="Risk">
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="riskElementType"/>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
 	<xsd:complexType name="riskElementType">
 		<xsd:annotation>
 			<xsd:documentation>Constraint describing Dimentions of Autonomous Decision Making (DADM) Risk Element (RE).</xsd:documentation>