diff --git a/core/api/src/main/java/org/onosproject/net/region/DefaultRegion.java b/core/api/src/main/java/org/onosproject/net/region/DefaultRegion.java
index 1926a3d..d229e92 100644
--- a/core/api/src/main/java/org/onosproject/net/region/DefaultRegion.java
+++ b/core/api/src/main/java/org/onosproject/net/region/DefaultRegion.java
@@ -19,6 +19,8 @@
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
 import org.onosproject.cluster.NodeId;
+import org.onosproject.net.AbstractAnnotated;
+import org.onosproject.net.Annotations;
 
 import java.util.List;
 import java.util.Objects;
@@ -27,7 +29,7 @@
 /**
  * Default implementation of a region.
  */
-public final class DefaultRegion implements Region {
+public final class DefaultRegion extends AbstractAnnotated implements Region {
 
     private final RegionId id;
     private final String name;
@@ -40,9 +42,12 @@
      * @param id      region identifier
      * @param name    friendly name
      * @param type    region type
+     * @param annots  annotations
      * @param masters list of sets of cluster node identifiers; in order of mastership
      */
-    public DefaultRegion(RegionId id, String name, Type type, List<Set<NodeId>> masters) {
+    public DefaultRegion(RegionId id, String name, Type type,
+                         Annotations annots, List<Set<NodeId>> masters) {
+        super(annots);
         this.id = id;
         this.name = name;
         this.type = type;
