diff --git a/test/test.spec.js b/test/test.spec.js
index 2ad050dcae7a7b6624b524255b3f108ae6db2911..6501e3167a0d23a418e3cd23e8585e7b69f7dfe5 100644
--- a/test/test.spec.js
+++ b/test/test.spec.js
@@ -484,14 +484,13 @@ describe('simple player', () => {
   });
 
   describe('unit navigation', () => {
-    it('should enable next if available', async done => {
+    it('should enable the buttons given in enabledNavigationTargets', async done => {
       await send({
         type: 'vopStartCommand',
         unitDefinition: '<h1>Virtual Unit</h1>',
         sessionId: '1',
         playerConfig: {
-          unitNumber: 1,
-          unitCount: 4
+          enabledNavigationTargets: ['#next', '#prev']
         }
       });
 
@@ -501,59 +500,9 @@ describe('simple player', () => {
       const firstUnit = await driver.findElement(By.css('#first-unit'));
 
       expect(await nextUnit.isEnabled()).toBeTrue();
-      expect(await prevUnit.isEnabled()).toBeFalse();
-      expect(await lastUnit.isEnabled()).toBeTrue();
-      expect(await firstUnit.isEnabled()).toBeFalse();
-
-      done();
-    });
-
-    it('should enable previous if available', async done => {
-      await driver.get(`file:${playerPath}`);
-
-      await send({
-        type: 'vopStartCommand',
-        unitDefinition: '<h1>Virtual Unit</h1>',
-        sessionId: '1',
-        playerConfig: {
-          unitNumber: 4,
-          unitCount: 4
-        }
-      });
-
-      const nextUnit = await driver.findElement(By.css('#next-unit'));
-      const prevUnit = await driver.findElement(By.css('#prev-unit'));
-      const lastUnit = await driver.findElement(By.css('#last-unit'));
-      const firstUnit = await driver.findElement(By.css('#first-unit'));
-
-      expect(await nextUnit.isEnabled()).toBeFalse();
       expect(await prevUnit.isEnabled()).toBeTrue();
       expect(await lastUnit.isEnabled()).toBeFalse();
-      expect(await firstUnit.isEnabled()).toBeTrue();
-
-      done();
-    });
-
-    it('should enable both if available', async done => {
-      await send({
-        type: 'vopStartCommand',
-        unitDefinition: '<h1>Virtual Unit</h1>',
-        sessionId: '1',
-        playerConfig: {
-          unitNumber: 2,
-          unitCount: 4
-        }
-      });
-
-      const nextUnit = await driver.findElement(By.css('#next-unit'));
-      const prevUnit = await driver.findElement(By.css('#prev-unit'));
-      const lastUnit = await driver.findElement(By.css('#last-unit'));
-      const firstUnit = await driver.findElement(By.css('#first-unit'));
-
-      expect(await nextUnit.isEnabled()).toBeTrue();
-      expect(await prevUnit.isEnabled()).toBeTrue();
-      expect(await lastUnit.isEnabled()).toBeTrue();
-      expect(await firstUnit.isEnabled()).toBeTrue();
+      expect(await firstUnit.isEnabled()).toBeFalse();
 
       done();
     });
@@ -1146,7 +1095,7 @@ describe('simple player', () => {
     });
   });
 
-  describe('Player (regression tests)', () => {
+  describe('(regression tests)', () => {
     it('should prevent implicit form submission', async done => {
       // see: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#default-button
       await send({
diff --git a/verona-simple-player-1.html b/verona-simple-player-1.html
index 286c7c899d2cf05b6b042b407c68cff16dcfc382..50fa67514a02b5864f41c71880b65e9b36c0e0d4 100755
--- a/verona-simple-player-1.html
+++ b/verona-simple-player-1.html
@@ -161,7 +161,7 @@
     unitNumber: 0,
     unitTitle: 'Unit',
     unitId: 'unit',
-    unitCount: Infinity,
+    enabledNavigationTargets: [], // can contain  "next" "previous" "first" "last" "end"
     stateReportPolicy: "eager", // none" | "eager" | "on-demand"
     pagingMode: "separate", // "separate" | "concat-scroll" | "concat-scroll-snap"
   }
@@ -738,10 +738,11 @@
     }
 
     toggleUnitNavButtons = () => {
-      this.toggleButton('first-unit', playerConfig.unitNumber > 1);
-      this.toggleButton('prev-unit', playerConfig.unitNumber > 1);
-      this.toggleButton('next-unit', playerConfig.unitNumber < playerConfig.unitCount);
-      this.toggleButton('last-unit', playerConfig.unitNumber < playerConfig.unitCount);
+      console.log(playerConfig);
+      this.toggleButton('first-unit', playerConfig.enabledNavigationTargets.indexOf('#first') > -1);
+      this.toggleButton('prev-unit', playerConfig.enabledNavigationTargets.indexOf('#prev') > -1);
+      this.toggleButton('next-unit', playerConfig.enabledNavigationTargets.indexOf('#next') > -1);
+      this.toggleButton('last-unit', playerConfig.enabledNavigationTargets.indexOf('#last') > -1);
     }
 
     markElementTouched = elem => {