diff --git a/models/abstract/chassis.go b/models/abstract/chassis.go
index 74a288c..65bd228 100644
--- a/models/abstract/chassis.go
+++ b/models/abstract/chassis.go
@@ -59,6 +59,6 @@
 	return nextPort, nil
 }
 func (chassis *Chassis) ActivateONT(slotNumber int, portNumber int, ontNumber int, serialNumber string) error {
-	err := chassis.Slots[slotNumber-1].Ports[portNumber].provisionOnt(ontNumber, serialNumber)
+	err := chassis.Slots[slotNumber-1].Ports[portNumber-1].provisionOnt(ontNumber, serialNumber)
 	return err
 }
diff --git a/models/physical/chassis.go b/models/physical/chassis.go
index 3f050aa..8f60838 100644
--- a/models/physical/chassis.go
+++ b/models/physical/chassis.go
@@ -30,6 +30,14 @@
 	Dataswitch   DataSwitch
 	Linecards    []OLT
 }
+type UnprovisionedSlotError struct {
+	CLLI       string
+	SlotNumber int
+}
+
+func (e *UnprovisionedSlotError) Error() string {
+	return fmt.Sprintf("SlotNumber %d in Chassis %s is currently unprovsioned", e.SlotNumber, e.CLLI)
+}
 
 /*
 AddOLTChassis - adds a reference to a new olt chassis
@@ -43,3 +51,10 @@
 	//TODO - api call to provison s/c vlans and ont serial number etc
 	fmt.Printf("chassis.provisionONT(%s,SVlan:%d,CVlan:%d)\n", ont.SerialNumber, ont.Svlan, ont.Cvlan)
 }
+func (chassis *Chassis) ActivateSlot(slotNumber int) error {
+	// AT&T backend systems start at 1 and not 0 :P
+	if chassis.Linecards[slotNumber-1] == nil {
+		return &UnprovisionedSlotError{CLLI: chassis.CLLI, SlotNumber: slotNumber}
+	}
+	return chassis.Linecards[slotNumber-1].activate()
+}
diff --git a/models/physical/olt.go b/models/physical/olt.go
index beffec8..121fdac 100644
--- a/models/physical/olt.go
+++ b/models/physical/olt.go
@@ -29,6 +29,7 @@
 	GetPorts() []PONPort
 	GetParent() *Chassis
 	GetDataSwitchPort() int
+	activate() error
 }
 
 /*
@@ -73,3 +74,8 @@
 func (s *SimpleOLT) GetDataSwitchPort() int {
 	return s.DataSwitchPort
 }
+func (s *SimpleOLT) activate() error {
+	s.Active = true
+	//TODO make call to XOS to activate phyiscal OLT
+	return nil
+}
