diff --git a/core/api/src/main/java/org/onosproject/net/meter/Band.java b/core/api/src/main/java/org/onosproject/net/meter/Band.java
index e434073..db42ba7 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/Band.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/Band.java
@@ -32,7 +32,7 @@
 
         /**
          * defines a simple DiffServ policer that remark
-         * the drop precedence of the DSCP eld in the
+         * the drop precedence of the DSCP field in the
          * IP header of the packets that exceed the band
          * rate value.
          */
@@ -42,16 +42,32 @@
     /**
      * The rate at which this meter applies.
      *
-     * @return the integer value of the rate
+     * @return the long value of the rate
      */
-    int rate();
+    long rate();
 
     /**
      * The burst size at which the meter applies.
      *
-     * @return the integer value of the size
+     * @return the long value of the size
      */
-    int burst();
+    long burst();
+
+    /**
+     * Only meaningful in the case of a REMARK band type.
+     * indicates by which amount the drop precedence of
+     * the packet should be increase if the band is exceeded.
+     *
+     * @return a short value
+     */
+    short dropPrecedence();
+
+    /**
+     * Signals the type of band to create.
+     *
+     * @return a band type
+     */
+    Type type();
 
 
 }
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java b/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java
index 70f65ef..8683e2a 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterFailReason.java
@@ -38,5 +38,52 @@
     /**
      * The meter that was attempted to be modified is unknown.
      */
-    UNKNOWN
+    UNKNOWN,
+
+    /**
+     * The operation for this meter installation timed out.
+     */
+    TIMEOUT,
+
+    /**
+     * Invalid meter definition.
+     */
+    INVALID_METER,
+
+    /**
+     * The target device is unknown.
+     */
+    UNKNOWN_DEVICE,
+
+    /**
+     * Unknown command.
+     */
+    UNKNOWN_COMMAND,
+
+    /**
+     * Unknown flags.
+     */
+    UNKNOWN_FLAGS,
+
+    /**
+     * Bad rate value.
+     */
+    BAD_RATE,
+
+    /**
+     * Bad burst size value.
+     */
+    BAD_BURST,
+
+    /**
+     * Bad band.
+     */
+    BAD_BAND,
+
+    /**
+     * Bad value value.
+     */
+    BAD_BAND_VALUE
+
+
 }
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterId.java b/core/api/src/main/java/org/onosproject/net/meter/MeterId.java
index b62db10..6a85a99 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterId.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterId.java
@@ -41,7 +41,7 @@
      *
      * @return an integer
      */
-    int id() {
+    public int id() {
         return id;
     }
 
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java b/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java
index 831c88a..85c0c43 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterProviderService.java
@@ -29,10 +29,10 @@
     /**
      * Notifies the core that a meter operaton failed for a
      * specific reason.
-     * @param deviceId
-     * @param operation
+     * @param operation the failed operation
+     * @param reason the failure reason
      */
-    void meterOperationFailed(DeviceId deviceId, MeterOperation operation,
+    void meterOperationFailed(MeterOperation operation,
                               MeterFailReason reason);
 
     /**
