flowrule builder
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
index dc7b01e2b..f5b31f8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
@@ -36,6 +36,6 @@
      * @param deviceId device identifier
      * @return collection of flow entries
      */
-    void pushFlowMetrics(Iterable<FlowEntry> flowEntries);
+    void pushFlowMetrics(Iterable<FlowRule> flowEntries);
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java b/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java
index 9cae5f9..9a5fffa 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/criteria/Criteria.java
@@ -75,7 +75,7 @@
      * @param vlanPcp vlan pcp value
      * @return match criterion
      */
-    public static Criterion matchVlanId(Byte vlanPcp) {
+    public static Criterion matchVlanPcp(Byte vlanPcp) {
         return new VlanPcpCriterion(vlanPcp);
     }
 
diff --git a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
index c03f119..4899a0e 100644
--- a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -2,6 +2,7 @@
 
 import static org.slf4j.LoggerFactory.getLogger;
 
+import java.util.List;
 import java.util.Map;
 
 import org.apache.felix.scr.annotations.Activate;
@@ -34,9 +35,6 @@
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
-rt org.slf4j.Logger;
-
-import com.google.common.collect.Maps;
 
 /**
  * Provider which uses an OpenFlow controller to detect network
@@ -152,10 +150,11 @@
                 return;
             }
             final OFFlowStatsReply replies = (OFFlowStatsReply) stats;
-            final List<FlowEntry> entries = Lists.newLinkedList();
+            final List<FlowRule> entries = Lists.newLinkedList();
             for (OFFlowStatsEntry reply : replies.getEntries()) {
-
+                entries.add(new FlowRuleBuilder(reply).build());
             }
+            providerService.pushFlowMetrics(entries);
 
 
         }