diff --git a/xos/synchronizer/migrations/0013_auto_20190905_1220.py b/xos/synchronizer/migrations/0013_auto_20190905_1220.py
new file mode 100644
index 0000000..ca7408e
--- /dev/null
+++ b/xos/synchronizer/migrations/0013_auto_20190905_1220.py
@@ -0,0 +1,62 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.21 on 2019-09-05 16:20
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('rcord', '0012_bandwidth_profile_values'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='rcordservice_decl',
+            options={'verbose_name': 'Subscriber Service'},
+        ),
+        migrations.AlterModelOptions(
+            name='rcordsubscriber_decl',
+            options={'verbose_name': 'Subscriber'},
+        ),
+        migrations.AlterField(
+            model_name='bandwidthprofile_decl',
+            name='air',
+            field=models.IntegerField(help_text=b'Access Information Rate'),
+        ),
+        migrations.AlterField(
+            model_name='bandwidthprofile_decl',
+            name='cbs',
+            field=models.IntegerField(help_text=b'Committed Burst Rate'),
+        ),
+        migrations.AlterField(
+            model_name='bandwidthprofile_decl',
+            name='cir',
+            field=models.IntegerField(help_text=b'Committed Information Rate'),
+        ),
+        migrations.AlterField(
+            model_name='bandwidthprofile_decl',
+            name='ebs',
+            field=models.IntegerField(help_text=b'Excess Burst Rate'),
+        ),
+        migrations.AlterField(
+            model_name='bandwidthprofile_decl',
+            name='eir',
+            field=models.IntegerField(help_text=b'Excess Information Rate'),
+        ),
+    ]
diff --git a/xos/synchronizer/models/rcord.xproto b/xos/synchronizer/models/rcord.xproto
index 29481d6..a3b29e8 100644
--- a/xos/synchronizer/models/rcord.xproto
+++ b/xos/synchronizer/models/rcord.xproto
@@ -3,7 +3,7 @@
 option legacy="True";
 
 message RCORDService (Service) {
-    option verbose_name = "RCORD Service";
+    option verbose_name = "Subscriber Service";
     option description = "Service that manages residential subscribers";
 
     required string access = 11 [
@@ -20,16 +20,16 @@
     required string name = 3 [
         help_text = "Name of bandwidth profile",
         max_length = 256];
-    required int32 cir = 4;
-    required int32 cbs = 5;
-    required int32 eir = 6;
-    required int32 ebs = 7;
-    required int32 air = 8;
+    required int32 cir = 4 [help_text = "Committed Information Rate"];
+    required int32 cbs = 5 [help_text = "Committed Burst Rate"];
+    required int32 eir = 6 [help_text = "Excess Information Rate"];
+    required int32 ebs = 7 [help_text = "Excess Burst Rate"];
+    required int32 air = 8 [help_text = "Access Information Rate"];
 }
 
 message RCORDSubscriber (ServiceInstance) {
     option kind = "RCORDSubscriber";
-    option verbose_name = "RCORD Subscriber";
+    option verbose_name = "Subscriber";
     option owner_class_name = "RCORDService";
     option description = "A residential subscriber";
     option policy_implemented = "True";
