diff --git a/source/presentation/4.0/model.md b/source/presentation/4.0/model.md
index 7c953dc18..23f74b0bc 100644
--- a/source/presentation/4.0/model.md
+++ b/source/presentation/4.0/model.md
@@ -1059,9 +1059,6 @@ The value is a non-negative floating point number, in the coordinate space of th
{ "far": 200.0 }
```
-### first
-
-
### fieldOfView
{: #fieldOfView}
@@ -1077,6 +1074,28 @@ The value _MUST_ be a floating point number greater than 0 and less than 180, an
```json-doc
{ "fieldOfView": 50.0 }
```
+
+### first
+{: #first}
+
+This property references the first Annotation Page within an Annotation Collection.
+
+The value _MUST_ be a JSON object with `id` and `type` properties. The `id` _MUST_ be the HTTP(S) URI of the referenced Annotation Page. The value of `type` _MUST_ be `AnnotationPage`.
+
+* A non-empty AnnotationCollection _MUST_ have the `first` property.
+ Clients _MUST_ process the `first` property on an AnnotationCollection.
+
+{% include api/code_header.html %}
+``` json-doc
+{
+ "first": {
+ "id": "https://example.org/iiif/annotationPage/1",
+ "type": "AnnotationPage"
+ }
+}
+```
+
+
### format
{: #format}
@@ -1296,6 +1315,24 @@ The value _MUST_ be an array of strings. Each item in the array _MUST_ be a vali
```
### last
+{: #last}
+
+This property references the last Annotation Page within an Annotation Collection.
+
+The value _MUST_ be a JSON object with `id` and `type` properties. The `id` _MUST_ be the HTTP(S) URI of the referenced Annotation Page. The value of `type` _MUST_ be `AnnotationPage`.
+
+* A non-empty AnnotationCollection _SHOULD_ have the `last` property.
+ Clients _SHOULD_ process the `last` property on an AnnotationCollection.
+
+{% include api/code_header.html %}
+``` json-doc
+{
+ "last": {
+ "id": "https://example.org/iiif/annotationPage/17",
+ "type": "AnnotationPage"
+ }
+}
+```
### logo
{: #logo}
@@ -1465,9 +1502,24 @@ The value is a non-negative floating point number, in the coordinate space of th
```
### next
+{: #next}
-...
+A reference from an Annotation Page to the following Annotation Page within an Annotation Collection.
+The value must be a JSON object, with the `id` and `type` properties. The value of the `id` property must be a string, and must be the HTTP(S) URI of the following Annotation Page. The value of the `type` property must be the string `AnnotationPage`.
+
+* An AnnotationPage _MUST_ have the `next` property, unless it is the last page in the AnnotationCollection.
+ Clients _MUST_ processs the `next` property on an AnnotationPage.
+
+{% include api/code_header.html %}
+``` json-doc
+{
+ "next": {
+ "id": "https://example.org/iiif/annotationPage/3",
+ "type": "AnnotationPage"
+ }
+}
+```
### partOf
{: #partOf}
@@ -1548,7 +1600,24 @@ The value of this property _MUST_ be a JSON object conforming to the `SpecificRe
```
### prev
+{: #prev}
+A reference from an Annotation Page to the preceding Annotation Page within an Annotation Collection.
+
+The value must be a JSON object, with the `id` and `type` properties. The value of the `id` property must be a string, and must be the HTTP(S) URI of the preceding Annotation Page. The value of the `type` property must be the string `AnnotationPage`.
+
+* An AnnotationPage _SHOULD_ have the `prev` property, unless it is the first page in the AnnotationCollection.
+ Clients _SHOULD_ processs the `prev` property on an AnnotationPage.
+
+{% include api/code_header.html %}
+``` json-doc
+{
+ "prev": {
+ "id": "https://example.org/iiif/annotationPage/1",
+ "type": "AnnotationPage"
+ }
+}
+```
### profile
{: #profile}
@@ -2021,10 +2090,22 @@ The value _MUST_ be a string.
### total
+{: #total}
For compatability with ActivityStreams and the Change Discovery API, clients _SHOULD_ also accept `totalItems` as the name of this property.
{: .note}
+The `total` property indicates the total number of annotations contained in an Annotation Collection.
+
+The value of this property _MUST_ be a non-negative integer.
+
+* An AnnotationCollection _SHOULD_ have the `total` property.
+ Clients _SHOULD_ process the `total` property on an AnnotationCollection.
+
+{% include api/code_header.html %}
+``` json-doc
+{ "total": 1701 }
+```
### transform
{: #transform}