diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java
new file mode 100644
index 0000000..801e8f9
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java
@@ -0,0 +1,38 @@
+package org.onlab.onos.net.flow;
+
+import org.onlab.onos.net.DeviceId;
+
+public class DefaultFlowRule implements FlowRule {
+
+    private final TrafficSelector selector;
+    private final TrafficTreatment treatment;
+    private final DeviceId deviceId;
+
+    public DefaultFlowRule(DeviceId deviceId,
+            TrafficSelector selector, TrafficTreatment treatment) {
+        this.treatment = treatment;
+        this.selector = selector;
+        this.deviceId = deviceId;
+    }
+
+    @Override
+    public int priority() {
+        return 0;
+    }
+
+    @Override
+    public DeviceId deviceId() {
+        return deviceId;
+    }
+
+    @Override
+    public TrafficSelector selector() {
+        return selector;
+    }
+
+    @Override
+    public TrafficTreatment treatment() {
+        return treatment;
+    }
+
+}
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java
new file mode 100644
index 0000000..9ec49e4
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java
@@ -0,0 +1,44 @@
+package org.onlab.onos.net.flow;
+
+import static org.slf4j.LoggerFactory.getLogger;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.onlab.onos.net.flow.criteria.Criterion;
+import org.slf4j.Logger;
+
+public final class DefaultTrafficSelector implements TrafficSelector {
+
+    private final List<Criterion> selector;
+
+    private DefaultTrafficSelector(List<Criterion> selector) {
+        this.selector = Collections.unmodifiableList(selector);
+    }
+
+    @Override
+    public List<Criterion> criteria() {
+        return selector;
+    }
+
+    public static class Builder implements TrafficSelector.Builder {
+
+        private final Logger log = getLogger(getClass());
+
+        private final List<Criterion> selector = new LinkedList<>();
+
+        @Override
+        public TrafficSelector.Builder add(Criterion criterion) {
+            selector.add(criterion);
+            return this;
+        }
+
+        @Override
+        public TrafficSelector build() {
+            return new DefaultTrafficSelector(selector);
+        }
+
+    }
+
+}
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
index 0bf4ea8..9de68dc 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
@@ -9,12 +9,11 @@
 import org.onlab.onos.net.flow.instructions.Instruction;
 import org.slf4j.Logger;
 
-@SuppressWarnings("rawtypes")
-public class DefaultTrafficTreatment implements TrafficTreatment {
+public final class DefaultTrafficTreatment implements TrafficTreatment {
 
     private final List<Instruction> instructions;
 
-    public DefaultTrafficTreatment(List<Instruction> instructions) {
+    private DefaultTrafficTreatment(List<Instruction> instructions) {
         this.instructions = Collections.unmodifiableList(instructions);
     }
 
