diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a725465
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+vendor/
\ No newline at end of file
diff --git a/Makefile b/Makefile
index cfb0fc7..8e34d12 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@
 protos: api/bbsim/bbsim.pb.go # @HELP Build proto files
 
 build: protos # @HELP Build the binary
-	GO111MODULE=on go build -i -v \
+	GO111MODULE=on go build -i -v -mod vendor \
 	-ldflags "-X main.buildTime=$(shell date +”%Y/%m/%d-%H:%M:%S”) \
 		-X main.commitHash=$(shell git log --pretty=format:%H -n 1) \
 		-X main.gitStatus=${GIT_STATUS} \
diff --git a/build/package/Dockerfile b/build/package/Dockerfile
index 5af257d..c3c0c87 100644
--- a/build/package/Dockerfile
+++ b/build/package/Dockerfile
@@ -37,7 +37,8 @@
 
 # get dependencies
 COPY go.mod go.sum ./
-RUN go mod download
+COPY vendor ./vendor
+RUN go mod vendor
 
 # build the protos
 COPY Makefile ./
@@ -47,7 +48,7 @@
 # copy and build
 COPY . ./
 ARG GIT_STATUS=Clean
-RUN GO111MODULE=on go build \
+RUN GO111MODULE=on go build -mod vendor\
     -ldflags "-X main.buildTime=$(date +”%Y/%m/%d-%H:%M:%S”) \
     		-X main.commitHash=$(git log --pretty=format:%H -n 1) \
     		-X main.gitStatus=${GIT_STATUS}\
diff --git a/examples/sadis-minimal.json b/examples/sadis-minimal.json
new file mode 100644
index 0000000..10adc68
--- /dev/null
+++ b/examples/sadis-minimal.json
@@ -0,0 +1,66 @@
+{
+  "org.opencord.sadis": {
+    "sadis": {
+      "integration": {
+        "cache": {
+          "enabled": true,
+          "maxsize": 50,
+          "ttl": "PT1m"
+        }
+      },
+      "entries": [
+        {
+          "id": "BBSM00000001",
+          "cTag": 83,
+          "sTag": 99,
+          "nasPortId": "BBSM00000001",
+          "technologyProfileId": 64,
+          "upstreamBandwidthProfile": "High-Speed-Internet",
+          "downstreamBandwidthProfile": "User1-Specific"
+        },
+        {
+          "id": "BBSIM_OLT_0",
+          "hardwareIdentifier": "00:1b:22:00:b1:78",
+          "ipAddress": "192.168.1.252",
+          "uplinkPort": 65536,
+          "nasId": "BBSIM_OLT_0"
+        }
+      ]
+    },
+    "bandwidthprofile": {
+      "integration": {
+        "cache": {
+          "enabled": true,
+          "maxsize": 40,
+          "ttl": "PT1m"
+        }
+      },
+      "entries": [
+        {
+          "id": "High-Speed-Internet",
+          "cir": 200000000,
+          "cbs": 348000,
+          "eir": 10000000,
+          "ebs": 348000,
+          "air": 10000000
+        },
+        {
+          "id": "User1-Specific",
+          "cir": 300000000,
+          "cbs": 348000,
+          "eir": 20000000,
+          "ebs": 348000,
+          "air": 30000000
+        },
+        {
+          "id": "Default",
+          "cir": 300000000,
+          "cbs": 348000,
+          "eir": 20000000,
+          "ebs": 348000,
+          "air": 30000000
+        }
+      ]
+    }
+  }
+}
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 515d233..72fdc6f 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,10 @@
 require (
 	github.com/golang/protobuf v1.3.2
 	github.com/looplab/fsm v0.1.0
+	github.com/opencord/omci-sim v0.0.0-20190717165025-5ff7bb17f1e9
 	github.com/opencord/voltha-protos v0.0.0-20190813191205-792553b747df
 	github.com/sirupsen/logrus v1.4.2
 	google.golang.org/grpc v1.22.1
 )
+
+replace github.com/opencord/omci-sim v0.0.0-20190717165025-5ff7bb17f1e9 => ./vendor/github.com/opencord/omci-sim
\ No newline at end of file
diff --git a/go.sum b/go.sum
index b31d1f6..749af46 100644
--- a/go.sum
+++ b/go.sum
@@ -15,6 +15,8 @@
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/looplab/fsm v0.1.0 h1:Qte7Zdn/5hBNbXzP7yxVU4OIFHWXBovyTT2LaBTyC20=
 github.com/looplab/fsm v0.1.0/go.mod h1:m2VaOfDHxqXBBMgc26m6yUOwkFn8H2AlJDE+jd/uafI=
+github.com/opencord/omci-sim v0.0.0-20190717165025-5ff7bb17f1e9 h1:qUbCkEFUDEtOBeG6JfI2oMD6dmUa/zJldvBR59RhRdM=
+github.com/opencord/omci-sim v0.0.0-20190717165025-5ff7bb17f1e9/go.mod h1:W10NTwE0xK9Kh++wrflXPfkknMCaNKkb7Io/ihO4y3k=
 github.com/opencord/voltha-protos v0.0.0-20190813191205-792553b747df h1:j/gaZts38ij2uVVikbXGqlm6n3hts1s0zWzUnBI96C4=
 github.com/opencord/voltha-protos v0.0.0-20190813191205-792553b747df/go.mod h1:MDGL9ai3XOPbiZ0tA8U7k4twK/T/P0Hh4gtjNxNk/qY=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
diff --git a/internal/bbsim/bbsim.go b/internal/bbsim/bbsim.go
index 589d557..b353662 100644
--- a/internal/bbsim/bbsim.go
+++ b/internal/bbsim/bbsim.go
@@ -46,7 +46,8 @@
 }
 
 func init() {
-	log.SetLevel(log.DebugLevel)
+	//log.SetLevel(log.DebugLevel)
+	log.SetLevel(log.TraceLevel)
 	//log.SetReportCaller(true)
 }
 
diff --git a/internal/bbsim/devices/olt.go b/internal/bbsim/devices/olt.go
index 1923b14..95cd882 100644
--- a/internal/bbsim/devices/olt.go
+++ b/internal/bbsim/devices/olt.go
@@ -366,12 +366,14 @@
 }
 
 func (o OltDevice) FlowAdd(context.Context, *openolt.Flow) (*openolt.Empty, error)  {
-	oltLogger.Error("FlowAdd not implemented")
+	oltLogger.Info("received FlowAdd")
+	// TODO store flows somewhere
 	return new(openolt.Empty) , nil
 }
 
 func (o OltDevice) FlowRemove(context.Context, *openolt.Flow) (*openolt.Empty, error)  {
-	oltLogger.Error("FlowRemove not implemented")
+	oltLogger.Info("received FlowRemove")
+	// TODO store flows somewhere
 	return new(openolt.Empty) , nil
 }
 
@@ -407,15 +409,14 @@
 }
 
 func (o OltDevice) OmciMsgOut(ctx context.Context, omci_msg *openolt.OmciMsg) (*openolt.Empty, error)  {
-	oltLogger.Debugf("Recevied OmciMsgOut - IntfId: %d OnuId: %d", omci_msg.IntfId, omci_msg.OnuId)
 	pon, _ := o.getPonById(omci_msg.IntfId)
 	onu, _ := pon.getOnuById(omci_msg.OnuId)
 	msg := Message{
 		Type:      OMCI,
 		Data:      OmciMessage{
 			OnuSN:  onu.SerialNumber,
-			OnuId: 	onu.ID,
-			msg: 	omci_msg,
+			OnuID: 	onu.ID,
+			omciMsg: 	omci_msg,
 		},
 	}
 	onu.channel <- msg
@@ -439,7 +440,7 @@
 }
 
 func (o OltDevice) UplinkPacketOut(context context.Context, packet *openolt.UplinkPacket) (*openolt.Empty, error) {
-	oltLogger.Error("UplinkPacketOut not implemented")
+	oltLogger.Warn("UplinkPacketOut not implemented")
 	return new(openolt.Empty) , nil
 }
 
@@ -459,21 +460,21 @@
 }
 
 func (s OltDevice) CreateTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*openolt.Empty, error) {
-	oltLogger.Error("CreateTrafficQueues not implemented")
+	oltLogger.Info("received CreateTrafficQueues")
 	return new(openolt.Empty), nil
 }
 
 func (s OltDevice) RemoveTrafficQueues(context.Context, *tech_profile.TrafficQueues) (*openolt.Empty, error) {
-	oltLogger.Error("RemoveTrafficQueues not implemented")
+	oltLogger.Info("received RemoveTrafficQueues")
 	return new(openolt.Empty), nil
 }
 
 func (s OltDevice) CreateTrafficSchedulers(context.Context, *tech_profile.TrafficSchedulers) (*openolt.Empty, error) {
-	oltLogger.Error("CreateTrafficSchedulers not implemented")
+	oltLogger.Info("received CreateTrafficSchedulers")
 	return new(openolt.Empty), nil
 }
 
 func (s OltDevice) RemoveTrafficSchedulers(context.Context, *tech_profile.TrafficSchedulers) (*openolt.Empty, error) {
-	oltLogger.Error("RemoveTrafficSchedulers not implemented")
+	oltLogger.Info("received RemoveTrafficSchedulers")
 	return new(openolt.Empty), nil
 }
\ No newline at end of file
diff --git a/internal/bbsim/devices/onu.go b/internal/bbsim/devices/onu.go
index 2ab53fc..8922b66 100644
--- a/internal/bbsim/devices/onu.go
+++ b/internal/bbsim/devices/onu.go
@@ -3,6 +3,7 @@
 import (
 	"github.com/opencord/voltha-protos/go/openolt"
 	"github.com/looplab/fsm"
+	omci "github.com/opencord/omci-sim"
 	log "github.com/sirupsen/logrus"
 )
 
@@ -67,8 +68,9 @@
 			msg, _ := message.Data.(OnuIndicationMessage)
 			o.sendOnuIndication(msg, stream)
 		case OMCI:
+			msg, _ := message.Data.(OmciMessage)
 			o.InternalState.Event("start_omci")
-			onuLogger.Warn("Don't know how to handle OMCI Messages yet...")
+			o.handleOmciMessage(msg, stream)
 		default:
 			onuLogger.Warnf("Received unknown message data %v for type %v in OLT channel", message.Data, message.Type)
 		}
@@ -126,4 +128,46 @@
 		"AdminState": msg.OperState.String(),
 		"SerialNumber": o.SerialNumber,
 	}).Debug("Sent Indication_OnuInd")
+}
+
+func (o Onu) handleOmciMessage(msg OmciMessage, stream openolt.Openolt_EnableIndicationServer) {
+
+	onuLogger.WithFields(log.Fields{
+		"IntfId": o.PonPortID,
+		"SerialNumber": o.SerialNumber,
+		"omciPacket": msg.omciMsg.Pkt,
+	}).Tracef("Received OMCI message")
+
+	var omciInd openolt.OmciIndication
+	respPkt, err := omci.OmciSim(o.PonPortID, o.ID, HexDecode(msg.omciMsg.Pkt))
+	if err != nil {
+		onuLogger.Errorf("Error handling OMCI message %v", msg)
+	}
+
+	omciInd.IntfId = o.PonPortID
+	omciInd.OnuId = o.ID
+	omciInd.Pkt = respPkt
+
+	omci := &openolt.Indication_OmciInd{OmciInd: &omciInd}
+	if err := stream.Send(&openolt.Indication{Data: omci}); err != nil {
+		onuLogger.Error("send omci indication failed: %v", err)
+	}
+	onuLogger.WithFields(log.Fields{
+		"IntfId": o.PonPortID,
+		"SerialNumber": o.SerialNumber,
+		"omciPacket": omciInd.Pkt,
+	}).Tracef("Sent OMCI message")
+}
+
+// HexDecode converts the hex encoding to binary
+func HexDecode(pkt []byte) []byte {
+	p := make([]byte, len(pkt)/2)
+	for i, j := 0, 0; i < len(pkt); i, j = i+2, j+1 {
+		// Go figure this ;)
+		u := (pkt[i] & 15) + (pkt[i]>>6)*9
+		l := (pkt[i+1] & 15) + (pkt[i+1]>>6)*9
+		p[j] = u<<4 + l
+	}
+	onuLogger.Tracef("Omci decoded: %x.", p)
+	return p
 }
\ No newline at end of file
diff --git a/internal/bbsim/devices/types.go b/internal/bbsim/devices/types.go
index 78666f2..c1ec3b4 100644
--- a/internal/bbsim/devices/types.go
+++ b/internal/bbsim/devices/types.go
@@ -136,8 +136,8 @@
 
 type OmciMessage struct {
 	OnuSN     *openolt.SerialNumber
-	OnuId 	uint32
-	msg 	*openolt.OmciMsg
+	OnuID 	  uint32
+	omciMsg   *openolt.OmciMsg
 }
 
 
