diff --git a/src/devices/tech/dalvik/constraints.jd b/src/devices/tech/dalvik/constraints.jd
index 612b0bf..8ad6aac 100644
--- a/src/devices/tech/dalvik/constraints.jd
+++ b/src/devices/tech/dalvik/constraints.jd
@@ -1,4 +1,4 @@
-page.title=Dalvik bytecode constraints
+page.title=Constraints
 @jd:body
 
 <!--
@@ -26,7 +26,16 @@
 </div>
 </div>
 
-    <h2 id="gen-constraints">General integrity constraints    </h2>
+<p>A <code>.dex</code> file is the transport format for Dalvik Bytecode. There are certain
+syntactical and semantical constraints for a file to be a valid <code>.dex</code> file, and
+a runtime is required to support only valid .dex files.</p>
+
+    <h2 id="gen-constraints">General .dex integrity constraints</h2>
+
+    <p>General integrity constraints are concerned with the larger structure of a
+    <code>.dex</code> file, as described in detail in <a href="dex-format.html"><code>.dex</code>
+    format</a>.</p>
+
     <table>
       <tr>
         <th>
@@ -40,84 +49,254 @@
 
       <tr>
         <td>
-          A1
+          G1
         </td>
 
         <td>
-          The magic number of the DEX file must be "dex\n035\0".
+          The <code>magic</code> number of the <code>.dex</code> file must be: <code>dex\n035\0</code>
         </td>
       </tr>
 
       <tr>
         <td>
-          A1
+          G2
         </td>
 
         <td>
           The checksum must be an Adler-32 checksum of the whole file contents
-          except magic and checksum field.
+          except <code>magic</code> and <code>checksum</code> field.
         </td>
       </tr>
+
+      <tr>
+        <td>
+          G3
+        </td>
+
+        <td>
+          The signature must be a SHA-1 hash of the whole file contents except <code>magic</code>,
+          <code>checksum</code>, and <code>signature</code>.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G4
+        </td>
+
+        <td>
+          The <code>file_size</code> must match the actual file size in bytes.
+        </td>
+      </tr>
+
+
+      <tr>
+        <td>
+          G5
+        </td>
+
+        <td>
+          The <code>header_size</code> must have the value: <code>0x70</code>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G6
+        </td>
+
+        <td>
+          The <code>endian_tag</code> must have either the value:
+          <code>ENDIAN_CONSTANT</code> or <code>REVERSE_ENDIAN_CONSTANT</code>
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G7
+        </td>
+
+        <td>
+          For each of the <code>link</code>, <code>string_ids</code>,
+          <code>type_ids</code>, <code>proto_ids</code>,
+          <code>field_ids</code>, <code>method_ids</code>, <code>class_defs</code>, and
+          <code>data</code> sections, the <code>offset</code> and <code>size</code> fields must be
+          either both zero or both non-zero. In the latter case, the offset must be
+          four-byte-aligned.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G8
+        </td>
+
+        <td>
+          All offset fields in the header except <code>map_off</code> must be four-byte-aligned.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G9
+        </td>
+
+        <td>
+          The <code>map_off</code> field must be either zero or point into the
+          data section. In the latter case, the <code>data</code> section must exist.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G10
+        </td>
+
+        <td>
+          None of the <code>link</code>, <code>string_ids</code>,
+          <code>type_ids</code>, <code>proto_ids</code>, <code>field_ids</code>,
+          <code>method_ids</code>, <code>class_defs</code> and <code>data</code> sections
+          must overlap each other or the header.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G11
+        </td>
+
+        <td>
+          If a map exists, then each map entry must have a valid type. Each type may appear at most once.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G12
+        </td>
+
+        <td>
+          If a map exists, then each map entry must have a non-zero offset and
+          size. The offset must point into the corresponding section of the file (i.e. a
+          <code>string_id_item</code> must point into the <code>string_ids</code> section) and the explicit or
+          implicit size of the item must match the actual contents and size of the
+          section.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G13
+        </td>
+
+        <td>
+          If a map exists, then the offset of map entry <code>n+1</code> must be greater or
+          equal to the offset of map entry <code>n plus than size of map entry n</code>. This implies
+          non-overlapping entries and low-to-high ordering.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G14
+        </td>
+
+        <td>
+          The following types of entries must have an offset that is
+          four-byte-aligned: <code>string_id_item</code>,
+          <code>type_id_item</code>, <code>proto_id_item</code>,
+          <code>field_id_item</code>,
+          <code>method_id_item</code>, <code>class_def_item</code>,
+          <code>type_list</code>, <code>code_item</code>,
+          <code>annotations_directory_item</code>.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G15
+        </td>
+
+        <td>
+          For each <code>string_id_item</code>, the <code>string_data_off</code> field must contain a
+          valid reference into the <code>data</code> section. For the referenced <code>string_data_item</code>, the
+          <code>data</code> field must contain a valid MUTF-8 string, and the <code>utf16_size</code> must match
+          the decoded length of the string.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G16
+        </td>
+
+        <td>
+          For each <code>type_id_item</code>, the <code>desciptor_idx</code> field must contain a valid
+          reference into the <code>string_ids</code> list. The referenced string must be a valid type
+          descriptor.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G17
+        </td>
+
+        <td>
+          For each <code>proto_id_item</code>, the <code>shorty_idx</code> field must contain a valid
+          reference into the <code>string_ids</code> list. The referenced string must be a valid
+          shorty descriptor. Also, the <code>return_type_idx</code> field must be a valid index into
+          the <code>type_ids</code> section, and the <code>parameters_off</code> field must be either zero or a
+          valid offset pointing into the <code>data</code> section. If non-zero, the parameter list
+          must not contain any void entries.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G18
+        </td>
+
+        <td>
+          For each <code>field_id_item</code>, both the <code>class_idx</code> and <code>type_idx</code> fields must
+          be valid indices into the <code>type_ids</code> list. The entry referenced by <code>class_idx</code>
+          must be a non-array reference type. In addition, the <code>name_idx</code> field must be a
+          valid reference into the <code>string_ids</code> section, and the contents of the referenced
+          entry must conform to the <code>MemberName</code> specification.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G19
+        </td>
+
+        <td>
+          For each <code>method_id_item</code>, the <code>class_idx</code> field must be a valid index
+          into the <code>type_ids</code> section, and the referenced entry must be a non-array
+          reference type. The <code>proto_id</code> field must be a valid reference into the <code>proto_ids</code>
+          list. The <code>name_idx</code> field must be a valid reference into the <code>string_ids</code> section,
+          and the contents of the referenced entry must conform to the <code>MemberName</code>
+          specification.
+        </td>
+      </tr>
+
+      <tr>
+        <td>
+          G20
+        </td>
+
+        <td>
+          For each <code>field_id_item</code>, the <code>class_idx</code> field must be a valid index
+          into the <code>type_ids</code> list. The referenced entry must be a non-array reference
+          type.
+        </td>
+      </tr>
+
 </table>
 
-<p>The signature must be a SHA-1 hash of the whole file contents except magic,
-      checksum, and signature.</p>
-<p>The file_size must match the actual file size in bytes.</p>
-<p>The header_size must have the value 0x70.</p>
-<p>The endian_tag must have either the value ENDIAN_CONSTANT or
-      REVERSE_ENDIAN_CONSTANT.</p>
-<p>For each of the link, string_ids, type_ids, proto_ids, field_ids, method_ids, class_defs
-      and data sections, the offset and size fields must be either both zero or both
-      non-zero. In the latter case, the offset must be four-byte-aligned.</p>
-<p>All offset fields in the header except map_off must be four-byte-aligned.</p>
-<p>The map_off field must be either zero or point into the data section. In the
-      latter case, the data section must exist.</p>
-<p>None of the link, string_ids, type_ids, proto_ids, field_ids, method_ids, class_defs
-      and data sections must overlap each other or the header.</p>
-<p>If a map exists, then each map entry must have a valid type. Each type may
-      appear at most once.</p>
-<p>If a map exists, then each map entry must have a nonzero offset and size. The
-      offset must point into the corresponding section of the file (i.e. a
-      string_id_item must point into the string_ids section) and the explicit or
-      implicit size of the item must match the actual contents and size of the
-      section.</p>
-<p>If a map exists, then the offset of map entry n+1 must be greater or equal to
-      the offset of map entry n plus then size of map entry n. This implies
-      non-overlapping entries and low-to-high ordering.</p>
-<p>The following types of entries must have an offset that is
-      four-byte-aligned: string_id_item, type_id_item, proto_id_item, field_id_item,
-      method_id_item, class_def_item, type_list, code_item,
-      annotations_directory_item.</p>
-<p>For each string_id_item, the string_data_off field must contain a valid
-      reference into the data section. For the referenced string_data_item, the data
-      field must contain a valid MUTF-8 string, and the utf16_size must match the
-      decoded length of the string.</p>
-<p>For each type_id_item, the desciptor_idx field must contain a valid reference
-      into the string_ids list. The referenced string must be a valid type descriptor.</p>
-<p>For each proto_id_item, the shorty_idx field must contain a valid reference
-      into the string_ids list. The referenced string must be a valid shorty descriptor.
-      Also, the return_type_idx field must be a valid index into the type_ids section,
-      and the parameters_off field must be either zero or a valid offset pointing
-      into the data section. If nonzero, the parameter list must not contain any void
-      entries.</p>
-<p>For each field_id_item, both the class_idx and type_idx fields must be a valid
-      indices into the
-      type_ids list. The entry referenced by class_idx must be a non-array reference type.
-      In addition, the name_idx field must be a valid reference into the string_ids
-      section, and the contents of the referenced entry must conform to the MemberName
-      specification.</p>
-<p>For each method_id_item, the class_idx field must be a valid index into the
-      type_ids section, and the
-      referenced entry must be a non-array reference type. The proto_id field must
-      be a valid reference into the proto_ids list. The name_idx field must be a
-      valid reference into the string_ids
-      section, and the contents of the referenced entry must conform to the MemberName
-      specification.</p>
-<p>For each class_def_item, ...</p>
-<p>For each field_id_item, the class_idx field must be a valid index into the
-      type_ids list. The referenced entry must be a non-array reference type.</p>
 <h2 id="static-constraints">
-      Static constraints
+      Static bytecode constraints
     </h2>
 
     <p>
@@ -163,7 +342,7 @@
         </td>
 
         <td>
-          The <code>insns</code> array must only contain valid Dalvik opcodes.
+          The <code>insns</code> array must contain only valid Dalvik opcodes.
         </td>
       </tr>
 
@@ -197,7 +376,7 @@
 
         <td>
           All <code>goto</code> and <code>if-&lt;kind&gt;</code> targets must
-          be opcodes within in the same method.
+          be opcodes within the same method.
         </td>
       </tr>
 
@@ -208,7 +387,7 @@
 
         <td>
           All targets of a <code>packed-switch</code> instruction must be
-          opcodes within in the same method. The size and the list of targets
+          opcodes within the same method. The size and the list of targets
           must be consistent.
         </td>
       </tr>
@@ -220,7 +399,7 @@
 
         <td>
           All targets of a <code>sparse-switch</code> instruction must be
-          opcodes within in the same method. The corresponding table must be
+          opcodes within the same method. The corresponding table must be
           consistent and sorted low-to-high.
         </td>
       </tr>
@@ -270,7 +449,7 @@
 
         <td>
           The <code>C</code> operand of the <code>invoke-virtual</code>,
-          <code>invoke-super</code>, <code<invoke-direct</code> and
+          <code>invoke-super</code>, <code>invoke-direct</code> and
           <code>invoke-static</code> instructions must be a valid index into the
           method constant pool. In all cases, the referenced
           <code>method_id</code> must belong to a class (not an interface).
@@ -297,8 +476,8 @@
         </td>
 
         <td>
-          A method the name of which starts with a '<' must only be invoked
-          implicitly by the VM, not by code originating from a Dex file. The
+          A method the name of which starts with a '&lt;' must only be invoked
+          implicitly by the VM, not by code originating from a <code>.dex</code> file. The
           only exception is the instance initializer, which may be invoked by
           <code>invoke-direct</code>.
         </td>
@@ -415,7 +594,7 @@
     </table>
 
     <h2 id="struct-constraints">
-      Structural constraints
+      Structural bytecode constraints
     </h2>
 
     <p>
@@ -473,8 +652,8 @@
         </td>
 
         <td>
-          An <code>invoke-direct</code> instruction must only invoke an instance
-          initializer or a method in the current class or one of its
+          An <code>invoke-direct</code> instruction must invoke an instance
+          initializer or a method only in the current class or one of its
           superclasses.
         </td>
       </tr>
@@ -485,7 +664,7 @@
         </td>
 
         <td>
-          An instance initializer must only be invoked on an uninitialized
+          An instance initializer must be invoked only on an uninitialized
           instance.
         </td>
       </tr>
@@ -496,7 +675,7 @@
         </td>
 
         <td>
-          Instance methods may only be invoked on and instance fields may only
+          Instance methods may be invoked only on and instance fields may only
           be accessed on already initialized instances.
         </td>
       </tr>
@@ -507,7 +686,7 @@
         </td>
 
         <td>
-          A register which holds the result of a <code>new-instance</code>
+          A register that holds the result of a <code>new-instance</code>
           instruction must not be used if the same
           <code>new-instance</code> instruction is again executed before
           the instance is initialized.
@@ -678,7 +857,7 @@
         </td>
 
         <td>
-          A <code>move-exception</code> instruction must only appear as the
+          A <code>move-exception</code> instruction must appear only as the
           first instruction in an exception handler.
         </td>
       </tr>
diff --git a/src/index.jd b/src/index.jd
index d420ca0..1acaab0 100644
--- a/src/index.jd
+++ b/src/index.jd
@@ -41,6 +41,12 @@
   <div class="landing-docs">
     <div class="col-8">
     <h3>What's New</h3>
+<a href="{@docRoot}devices/tech/dalvik/constraints.html">
+        <h4>Dalvik constraints published</h4></a>
+        <p>The Android Runtime (ART) team has released a list of syntactical and semantical <strong><a
+        href="{@docRoot}devices/tech/dalvik/constraints.html">constraints</a></strong>
+        to help construct valid <code>.dex</code> files supported by the runtime.</p>
+
 <a href="{@docRoot}source/64-bit-builds.html">
         <h4>64-bit build instructions added</h4></a>
         <p>Detailed instructions for building Android on a <strong><a
@@ -83,13 +89,6 @@
         href="https://android.googlesource.com/platform/docs/source.android.com/+/master/src/compatibility/">Compatibility
         Definition Documents (CDD)</a></strong> have been uploaded to AOSP for easy
         diffing.</p>
-
-<a href="{@docRoot}devices/audio/terminology.html">
-        <h4>Audio terminology enhanced</h4></a>
-        <p><strong><a
-        href="{@docRoot}devices/audio/terminology.html">Audio Terminology</a></strong>
-        has been updated to include definitions for <em>FIFO</em>,
-        <em>lossy</em>, <em>transparency</em>, and more.</p>
     </div>
 
     <div class="col-8">
