diff --git a/Doc/Asset/Equipment/ICT-/Controller.md b/Doc/Asset/Equipment/ICT-/Controller.md
deleted file mode 100644
index 5935bc88..00000000
--- a/Doc/Asset/Equipment/ICT-/Controller.md
+++ /dev/null
@@ -1,49 +0,0 @@
-[Index](../../../index.md) > [Asset](../../Asset.md) > [Equipment](../Equipment.md) > [ICTEquipment](ICTEquipment.md) > [Controller](#)
-# Controller
-
-Controller.
-
-
-**Display name:** Controller
-**DTMI:** dtmi:org:w3id:rec:Controller;1
-
----
-
-## Relationships
-
-### Inherited Relationships
-* **[Equipment](../Equipment.md):** feeds, isFedBy
-* **[Asset](../../Asset.md):** commissionedBy, documentation, geometry, hasPart, hasPoint, installedBy, isPartOf, locatedIn, manufacturedBy, mountedOn, servicedBy
-
----
-
-## Properties
-
-### Inherited Properties
-* **[Equipment](../Equipment.md):** operationalStageCount
-* **[Asset](../../Asset.md):** assetTag, commissioningDate, customProperties, customTags, identifiers, initialCost, installationDate, IPAddress, MACAddress, maintenanceInterval, modelNumber, name, serialNumber, turnoverDate, weight
-* **[ICTEquipment](ICTEquipment.md):** heightRUs, numberOfPorts, standard
-
----
-
-## Target Of
-### General
-* [Point](../../../Point/Point.md).isPointOf
-* [Agent](../../../Agent/Agent.md).owns
-* [Space](../../../Space/Space.md).isLocationOf
-* [Equipment](../Equipment.md).feeds
-* [Equipment](../Equipment.md).isFedBy
-* [System](../../../Collection/System/System.md).includes
-* [Architecture](../../../Space/Architecture/Architecture.md).isFedBy
-* [Document](../../../Information/Document/Document.md).documentTopic
-* [Document](../../../Information/Document/Document.md).url
-* [Lease](../../../Event/Lease.md).leaseOf
-* [PointOfInterest](../../../Information/PointOfInterest.md).objectOfInterest
-* [Portfolio](../../../Collection/Portfolio.md).includes
-* [ServiceObject](../../../Information/ServiceObject/ServiceObject.md).relatedTo
-* [Meter](../Meter/Meter.md).meters
-### Inherited
-* [Loop](../../../Collection/Loop/Loop.md).includes
-* [Asset](../../Asset.md).hasPart
-* [Asset](../../Asset.md).isPartOf
-* [EquipmentCollection](../../../Collection/Equipment-.md).includes
diff --git a/Doc/Asset/Equipment/ICT-/Controller/BACnet-.md b/Doc/Asset/Equipment/ICT-/Controller/BACnet-.md
new file mode 100644
index 00000000..f550063d
--- /dev/null
+++ b/Doc/Asset/Equipment/ICT-/Controller/BACnet-.md
@@ -0,0 +1,49 @@
+[Index](../../../../index.md) > [Asset](../../../Asset.md) > [Equipment](../../Equipment.md) > [ICTEquipment](../ICTEquipment.md) > [Controller](Controller.md) > [BACnetController](#)
+# BACnetController
+
+BACnet controller. (DEPRECATED: Use Controller instead. Industry has moved to most Controllers supporting multiple protocols.)
+
+
+**Display name:** BACnet Controller (DEPRECATED)
+**DTMI:** dtmi:org:w3id:rec:BACnetController;1
+
+---
+
+## Relationships
+
+### Inherited Relationships
+* **[Equipment](../../Equipment.md):** feeds, isFedBy
+* **[Asset](../../../Asset.md):** commissionedBy, documentation, geometry, hasPart, hasPoint, installedBy, isPartOf, locatedIn, manufacturedBy, mountedOn, servicedBy
+
+---
+
+## Properties
+
+### Inherited Properties
+* **[Equipment](../../Equipment.md):** operationalStageCount
+* **[Asset](../../../Asset.md):** assetTag, commissioningDate, customProperties, customTags, identifiers, initialCost, installationDate, IPAddress, MACAddress, maintenanceInterval, modelNumber, name, serialNumber, turnoverDate, weight
+* **[ICTEquipment](../ICTEquipment.md):** heightRUs, numberOfPorts, standard
+
+---
+
+## Target Of
+### General
+* [Portfolio](../../../../Collection/Portfolio.md).includes
+* [PointOfInterest](../../../../Information/PointOfInterest.md).objectOfInterest
+* [Agent](../../../../Agent/Agent.md).owns
+* [Space](../../../../Space/Space.md).isLocationOf
+* [Lease](../../../../Event/Lease.md).leaseOf
+* [Point](../../../../Point/Point.md).isPointOf
+* [Document](../../../../Information/Document/Document.md).documentTopic
+* [Document](../../../../Information/Document/Document.md).url
+* [ServiceObject](../../../../Information/ServiceObject/ServiceObject.md).relatedTo
+* [Architecture](../../../../Space/Architecture/Architecture.md).isFedBy
+* [System](../../../../Collection/System/System.md).includes
+* [Equipment](../../Equipment.md).feeds
+* [Equipment](../../Equipment.md).isFedBy
+* [Meter](../../Meter/Meter.md).meters
+### Inherited
+* [Loop](../../../../Collection/Loop/Loop.md).includes
+* [Asset](../../../Asset.md).hasPart
+* [Asset](../../../Asset.md).isPartOf
+* [EquipmentCollection](../../../../Collection/Equipment-.md).includes
diff --git a/Doc/Asset/Equipment/ICT-/Controller/Controller.md b/Doc/Asset/Equipment/ICT-/Controller/Controller.md
new file mode 100644
index 00000000..59663801
--- /dev/null
+++ b/Doc/Asset/Equipment/ICT-/Controller/Controller.md
@@ -0,0 +1,49 @@
+[Index](../../../../index.md) > [Asset](../../../Asset.md) > [Equipment](../../Equipment.md) > [ICTEquipment](../ICTEquipment.md) > [Controller](#)
+# Controller
+
+Controller.
+
+
+**Display name:** Controller
+**DTMI:** dtmi:org:w3id:rec:Controller;1
+
+---
+
+## Relationships
+
+### Inherited Relationships
+* **[Equipment](../../Equipment.md):** feeds, isFedBy
+* **[Asset](../../../Asset.md):** commissionedBy, documentation, geometry, hasPart, hasPoint, installedBy, isPartOf, locatedIn, manufacturedBy, mountedOn, servicedBy
+
+---
+
+## Properties
+
+### Inherited Properties
+* **[Equipment](../../Equipment.md):** operationalStageCount
+* **[Asset](../../../Asset.md):** assetTag, commissioningDate, customProperties, customTags, identifiers, initialCost, installationDate, IPAddress, MACAddress, maintenanceInterval, modelNumber, name, serialNumber, turnoverDate, weight
+* **[ICTEquipment](../ICTEquipment.md):** heightRUs, numberOfPorts, standard
+
+---
+
+## Target Of
+### General
+* [Point](../../../../Point/Point.md).isPointOf
+* [Agent](../../../../Agent/Agent.md).owns
+* [Space](../../../../Space/Space.md).isLocationOf
+* [Equipment](../../Equipment.md).feeds
+* [Equipment](../../Equipment.md).isFedBy
+* [Architecture](../../../../Space/Architecture/Architecture.md).isFedBy
+* [Document](../../../../Information/Document/Document.md).documentTopic
+* [Document](../../../../Information/Document/Document.md).url
+* [Lease](../../../../Event/Lease.md).leaseOf
+* [PointOfInterest](../../../../Information/PointOfInterest.md).objectOfInterest
+* [Portfolio](../../../../Collection/Portfolio.md).includes
+* [ServiceObject](../../../../Information/ServiceObject/ServiceObject.md).relatedTo
+* [Meter](../../Meter/Meter.md).meters
+### Inherited
+* [Loop](../../../../Collection/Loop/Loop.md).includes
+* [System](../../../../Collection/System/System.md).includes
+* [Asset](../../../Asset.md).hasPart
+* [Asset](../../../Asset.md).isPartOf
+* [EquipmentCollection](../../../../Collection/Equipment-.md).includes
diff --git a/Doc/Asset/Equipment/ICT-/Controller/Modbus-.md b/Doc/Asset/Equipment/ICT-/Controller/Modbus-.md
new file mode 100644
index 00000000..8ef7e913
--- /dev/null
+++ b/Doc/Asset/Equipment/ICT-/Controller/Modbus-.md
@@ -0,0 +1,49 @@
+[Index](../../../../index.md) > [Asset](../../../Asset.md) > [Equipment](../../Equipment.md) > [ICTEquipment](../ICTEquipment.md) > [Controller](Controller.md) > [ModbusController](#)
+# ModbusController
+
+Modbus controller. (DEPRECATED: Use Controller instead. Industry has moved to most Controllers supporting multiple protocols.)
+
+
+**Display name:** Modbus Controller (DEPRECATED)
+**DTMI:** dtmi:org:w3id:rec:ModbusController;1
+
+---
+
+## Relationships
+
+### Inherited Relationships
+* **[Equipment](../../Equipment.md):** feeds, isFedBy
+* **[Asset](../../../Asset.md):** commissionedBy, documentation, geometry, hasPart, hasPoint, installedBy, isPartOf, locatedIn, manufacturedBy, mountedOn, servicedBy
+
+---
+
+## Properties
+
+### Inherited Properties
+* **[Equipment](../../Equipment.md):** operationalStageCount
+* **[Asset](../../../Asset.md):** assetTag, commissioningDate, customProperties, customTags, identifiers, initialCost, installationDate, IPAddress, MACAddress, maintenanceInterval, modelNumber, name, serialNumber, turnoverDate, weight
+* **[ICTEquipment](../ICTEquipment.md):** heightRUs, numberOfPorts, standard
+
+---
+
+## Target Of
+### General
+* [Portfolio](../../../../Collection/Portfolio.md).includes
+* [PointOfInterest](../../../../Information/PointOfInterest.md).objectOfInterest
+* [Agent](../../../../Agent/Agent.md).owns
+* [Space](../../../../Space/Space.md).isLocationOf
+* [Lease](../../../../Event/Lease.md).leaseOf
+* [Point](../../../../Point/Point.md).isPointOf
+* [Document](../../../../Information/Document/Document.md).documentTopic
+* [Document](../../../../Information/Document/Document.md).url
+* [ServiceObject](../../../../Information/ServiceObject/ServiceObject.md).relatedTo
+* [Architecture](../../../../Space/Architecture/Architecture.md).isFedBy
+* [System](../../../../Collection/System/System.md).includes
+* [Equipment](../../Equipment.md).feeds
+* [Equipment](../../Equipment.md).isFedBy
+* [Meter](../../Meter/Meter.md).meters
+### Inherited
+* [Loop](../../../../Collection/Loop/Loop.md).includes
+* [Asset](../../../Asset.md).hasPart
+* [Asset](../../../Asset.md).isPartOf
+* [EquipmentCollection](../../../../Collection/Equipment-.md).includes
diff --git a/Doc/index.full.md b/Doc/index.full.md
index 860dc2c6..50811c46 100644
--- a/Doc/index.full.md
+++ b/Doc/index.full.md
@@ -175,7 +175,9 @@
* [Thermostat](Asset/Equipment/HVAC-/Thermostat.md)
* [ICTEquipment](Asset/Equipment/ICT-/ICTEquipment.md)
* [AudioVisualEquipment](Asset/Equipment/ICT-/AudioVisualEquipment.md)
- * [Controller](Asset/Equipment/ICT-/Controller.md)
+ * [Controller](Asset/Equipment/ICT-/Controller/Controller.md)
+ * [BACnetController](Asset/Equipment/ICT-/Controller/BACnet-.md)
+ * [ModbusController](Asset/Equipment/ICT-/Controller/Modbus-.md)
* [DataNetworkEquipment](Asset/Equipment/ICT-/DataNetworkEquipment/DataNetworkEquipment.md)
* [EthernetPort](Asset/Equipment/ICT-/DataNetworkEquipment/EthernetPort.md)
* [EthernetSwitch](Asset/Equipment/ICT-/DataNetworkEquipment/EthernetSwitch.md)
diff --git a/OntologyDecisionRecords/ODR 003 Ontology Versioning.md b/OntologyDecisionRecords/ODR 003 Ontology Versioning.md
index 79529454..f2979b0b 100644
--- a/OntologyDecisionRecords/ODR 003 Ontology Versioning.md
+++ b/OntologyDecisionRecords/ODR 003 Ontology Versioning.md
@@ -41,7 +41,13 @@ Graph validity will be a test of if a change is a major or minor change. If any
1. RealEstateCore will clean up content deprecation during `MAJOR` version increments
-### Annotating Deprecation
+### Annotating Model Deprecation
+
+1. We will append ` (DEPRECATED)` to the model's display name.
+
+1. We will append ` (DEPRECATED: .)` to the model's description. This should include a recommendation on how to migrate going forward.
+
+### Annotating Content Deprecation
1. We will append ` (DEPRECATED)` to the content's display name.
diff --git a/Source/DTDLv2/RealEstateCore/Asset/Equipment/ICT-/Controller/BACnet-.json b/Source/DTDLv2/RealEstateCore/Asset/Equipment/ICT-/Controller/BACnet-.json
new file mode 100644
index 00000000..c2e01444
--- /dev/null
+++ b/Source/DTDLv2/RealEstateCore/Asset/Equipment/ICT-/Controller/BACnet-.json
@@ -0,0 +1,14 @@
+{
+ "@id": "dtmi:org:w3id:rec:BACnetController;1",
+ "@type": "Interface",
+ "description": {
+ "en": "BACnet controller. (DEPRECATED: Use Controller instead. Industry has moved to most Controllers supporting multiple protocols.)"
+ },
+ "displayName": {
+ "en": "BACnet Controller (DEPRECATED)"
+ },
+ "@context": [
+ "dtmi:dtdl:context;2"
+ ],
+ "extends": "dtmi:org:w3id:rec:Controller;1"
+}
\ No newline at end of file
diff --git a/Source/DTDLv2/RealEstateCore/Asset/Equipment/ICT-/Controller/Modbus-.json b/Source/DTDLv2/RealEstateCore/Asset/Equipment/ICT-/Controller/Modbus-.json
new file mode 100644
index 00000000..4451098b
--- /dev/null
+++ b/Source/DTDLv2/RealEstateCore/Asset/Equipment/ICT-/Controller/Modbus-.json
@@ -0,0 +1,14 @@
+{
+ "@id": "dtmi:org:w3id:rec:ModbusController;1",
+ "@type": "Interface",
+ "description": {
+ "en": "Modbus controller. (DEPRECATED: Use Controller instead. Industry has moved to most Controllers supporting multiple protocols.)"
+ },
+ "displayName": {
+ "en": "Modbus Controller (DEPRECATED)"
+ },
+ "@context": [
+ "dtmi:dtdl:context;2"
+ ],
+ "extends": "dtmi:org:w3id:rec:Controller;1"
+}
\ No newline at end of file