diff --git a/README.md b/README.md
deleted file mode 100644
index 04229cd..0000000
--- a/README.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# R-CORD Profile
-
-The R-CORD (Residential CORD) profile is `Official`.
-
-## Service Manifest
-R-CORD includes the following
-[service manifest](https://github.com/opencord/platform-install/blob/master/profile_manifests/rcord.yml):
-
-| Service              | Source Code         |
-|-------------|---------------|
-| vOLT                 | https://github.com/opencord/olt |
-| vSG                   | https://github.com/opencord/vsg |
-| vRouter             | https://github.com/opencord/vrouter |
-| vTR                   | https://github.com/opencord/vtr |
-| ExampleService | https://github.com/opencord/exampleservice |
-| VTN                  | https://github.com/opencord/vtn |
-| Fabric               | https://github.com/opencord/fabric |
-| OpenStack        | https://github.com/opencord/openstack |
-| ONOS               | https://github.com/opencord/onos-service |
-
-## Model Extensions
-R-CORD extends CORD's core models with the following model specification
-([rcord.xproto](https://github.com/opencord/rcord/blob/master/xos/rcord.xproto)),
-which represents the *subscriber* that anchors a chain of `ServiceInstances`:
-
-```python
-message CordSubscriberRoot (ServiceInstance) {
-     option kind = "CordSubscriberRoot";
-
-     required bool firewall_enable = 1 [default = False, null = False, db_index = False, blank = True];
-     optional string firewall_rules = 2 [default = "accept all anywhere anywhere", null = True, db_index = False, blank = True];
-     required bool url_filter_enable = 3 [default = False, null = False, db_index = False, blank = True];
-     optional string url_filter_rules = 4 [default = "allow all", null = True, db_index = False, blank = True];
-     required string url_filter_level = 5 [default = "PG", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-     required bool cdn_enable = 6 [default = False, null = False, db_index = False, blank = True];
-     required bool is_demo_user = 7 [default = False, null = False, db_index = False, blank = True];
-     required int32 uplink_speed = 8 [default = 1000000000, null = False, db_index = False, blank = False];
-     required int32 downlink_speed = 9 [default = 1000000000, null = False, db_index = False, blank = False];
-     required bool enable_uverse = 10 [default = True, null = False, db_index = False, blank = True];
-     required string status = 11 [default = "enabled", choices = "(('enabled', 'Enabled'), ('suspended', 'Suspended'), ('delinquent', 'Delinquent'), ('copyrightviolation', 'Copyright Violation'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-     optional int32 s_tag = 12 [help_text = "s-tag", null = True, db_index = False, blank = False];
-     optional int32 c_tag = 13 [help_text = "c-tag", null = True, db_index = False, blank = False];
-	 }
-```
-## GUI Extensions
-R-CORD includes the following GUI extensions:
-
-* [vtr](https://github.com/opencord/vtr/tree/master/xos/gui)
-* [rcord](https://github.com/opencord/rcord/tree/master/xos/gui)
diff --git a/VERSION b/VERSION
index 1892b92..456ea72 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.2
+1.3.3-dev
diff --git a/docs/README.md b/docs/README.md
index 507615c..8ada62f 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -14,13 +14,23 @@
     - `c_tag`, `s_tag`. VLAN tags associated with this subscriber.
     - `onu_device`. Serial number of subscriber's ONU. Must match an ONU Device in an access service.
     - `mac_address`. MAC address of subscriber.
+    - `tech_profile_id`. This together with the `technology` of the ONU associated with the subscriber must match the `profile_id` and `technology` of a `TechnologyProfile` object from the `olt-service` service.
     - `nas_port_id`.
     - `circuit_id`.
     - `remote_id`.
+    - `upstream_bps`. Bandwidth profile for upstream.
+    - `downstream_bps`. Bandwidth profile for downstream.
 - `RCORDIpAddress`. Holds an IP address that is associated with a subscriber. These are typically created by the workflow driver, when it handles DHCP messages.
     - `subscriber`. Relation to the subscriber that this IP address applies to.
     - `ip`. IP Address.
     - `description`. A short description of the IP Address.
+- `BandwidthProfile`. Holds a bandwidth profile.
+    - `name`. Name of this bandwidth profile.
+    - `cir`. Committed information rate.
+    - `cbs`. Committed burst size.
+    - `eir`. Excess information rate.
+    - `ebs`. Excess burst size.
+    - `air`. Access information rate.
 
 
 
@@ -101,7 +111,7 @@
 
 The policy manages the service chain associated with the subscriber. If the subscriber is in `pre-provisioned` status, then no work is done. Otherwise the policy attempts to bring the service chain into compliance with the status field. Statuses of `enabled` are allocated a service chain. Statuses of `awaiting-auth`, `auth-failed`, or `disabled` are prevented from having a service chain.
 
-The service chain typically proceeds eastbound from the RCORDSubscriber to an access service instance, such as VOLTServiceInstance.  
+The service chain typically proceeds eastbound from the RCORDSubscriber to an access service instance, such as VOLTServiceInstance.
 
 
 
