diff --git a/projects/player/src/app/app.component.ts b/projects/player/src/app/app.component.ts
index d84067156901d9266b3cac78cdc75e8e0b796ca0..17c4f1cb99acfe5ac999dcf1a3473d9097e185b4 100644
--- a/projects/player/src/app/app.component.ts
+++ b/projects/player/src/app/app.component.ts
@@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core';
 import { TranslateService } from '@ngx-translate/core';
 import { MatDialog } from '@angular/material/dialog';
 import {
-  Unit, UnitPage
-} from '../../../common/unit';
+  Unit
+} from '../../../common/classes/unit';
 import { VeronaSubscriptionService } from './services/verona-subscription.service';
 import { VeronaPostService } from './services/verona-post.service';
 import { NativeEventService } from './services/native-event.service';
@@ -12,6 +12,7 @@ import { PlayerConfig, VopStartCommand } from './models/verona';
 import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
 import { KeyboardService } from './services/keyboard.service';
 import { UnitStateService } from './services/unit-state.service';
+import { Page } from '../../../common/classes/page';
 
 @Component({
   selector: 'player-aspect',
@@ -23,7 +24,7 @@ import { UnitStateService } from './services/unit-state.service';
   `
 })
 export class AppComponent implements OnInit {
-  pages!: UnitPage[];
+  pages!: Page[];
   playerConfig!: PlayerConfig | undefined;
 
   constructor(private translateService: TranslateService,
@@ -63,7 +64,7 @@ export class AppComponent implements OnInit {
         this.pages = unitDefinition.pages;
         this.unitStateService.unitStateElementCodes = message.unitState?.dataParts?.elementCodes ?
           JSON.parse(message.unitState.dataParts.elementCodes) : [];
-        this.keyboardService.useKeyboard(false, 'full');
+        this.keyboardService.useKeyboard(true, 'mini');
       } else {
         this.dialog.open(AlertDialogComponent, {
           data: {
diff --git a/projects/player/src/app/components/element/element.component.ts b/projects/player/src/app/components/element/element.component.ts
index dcd48603b6dadf5f74c372391b5fc058f88203c4..302b154381f992b0804034ba5ffd9cd38096cdec 100644
--- a/projects/player/src/app/components/element/element.component.ts
+++ b/projects/player/src/app/components/element/element.component.ts
@@ -5,7 +5,6 @@ import {
 import { FormBuilder, FormGroup } from '@angular/forms';
 import { takeUntil } from 'rxjs/operators';
 import { Subject } from 'rxjs';
-import { UnitUIElement } from '../../../../../common/unit';
 import * as ComponentUtils from '../../../../../common/component-utils';
 import { KeyboardService } from '../../services/keyboard.service';
 import { TextFieldComponent } from '../../../../../common/element-components/text-field.component';
@@ -13,6 +12,7 @@ import { TextAreaComponent } from '../../../../../common/element-components/text
 import { FormService } from '../../../../../common/form.service';
 import { ValueChangeElement } from '../../../../../common/form';
 import { UnitStateService } from '../../services/unit-state.service';
+import { UIElement } from '../../../../../common/classes/uIElement';
 
 @Component({
   selector: 'app-element',
@@ -20,7 +20,7 @@ import { UnitStateService } from '../../services/unit-state.service';
   styleUrls: ['./element.component.css']
 })
 export class ElementComponent implements OnInit {
-  @Input() elementModel!: UnitUIElement;
+  @Input() elementModel!: UIElement;
   @Input() parentForm!: FormGroup;
   @Input() parentArrayIndex!: number;
 
diff --git a/projects/player/src/app/components/layout/layout.component.ts b/projects/player/src/app/components/layout/layout.component.ts
index e1ac8f7967d4bc3cdba7dafaec039ec096c99869..c020d2353ea18c4ff52ded0bf287c1015bde85d8 100644
--- a/projects/player/src/app/components/layout/layout.component.ts
+++ b/projects/player/src/app/components/layout/layout.component.ts
@@ -5,9 +5,9 @@ import { FormGroup } from '@angular/forms';
 import { TranslateService } from '@ngx-translate/core';
 import { Subject } from 'rxjs';
 import { takeUntil } from 'rxjs/operators';
-import { UnitPage } from '../../../../../common/unit';
 import { PlayerConfig } from '../../models/verona';
 import { KeyboardService } from '../../services/keyboard.service';
+import { Page } from '../../../../../common/classes/page';
 
 @Component({
   selector: 'app-layout',
@@ -16,7 +16,7 @@ import { KeyboardService } from '../../services/keyboard.service';
 })
 export class LayoutComponent implements OnInit, OnDestroy {
   @Input() parentForm!: FormGroup;
-  @Input() pages!: UnitPage[];
+  @Input() pages!: Page[];
   @Input() selectedIndex!: number;
   @Input() selectIndex!: Subject<number>;
   @Input() playerConfig!: PlayerConfig;
@@ -28,9 +28,9 @@ export class LayoutComponent implements OnInit, OnDestroy {
 
   isKeyboardOpen!: boolean;
   scrollPagesIndices!: number[];
-  scrollPages!: UnitPage[];
+  scrollPages!: Page[];
   hasScrollPages!: boolean;
-  alwaysVisiblePage!: UnitPage | undefined;
+  alwaysVisiblePage!: Page | undefined;
   alwaysVisibleUnitPageIndex!: number;
   alwaysVisiblePagePosition!: 'top' | 'bottom' | 'left' | 'right' ;
   layoutAlignment!: 'row' | 'column';
@@ -64,14 +64,14 @@ export class LayoutComponent implements OnInit, OnDestroy {
   }
 
   private initPages(): void {
-    this.alwaysVisibleUnitPageIndex = this.pages.findIndex((page: UnitPage): boolean => page.alwaysVisible);
+    this.alwaysVisibleUnitPageIndex = this.pages.findIndex((page: Page): boolean => page.alwaysVisible);
     this.alwaysVisiblePage = this.pages[this.alwaysVisibleUnitPageIndex];
-    this.scrollPages = this.pages.filter((page: UnitPage): boolean => !page.alwaysVisible);
+    this.scrollPages = this.pages.filter((page: Page): boolean => !page.alwaysVisible);
     this.hasScrollPages = this.scrollPages?.length > 0;
     this.scrollPagesIndices = this.scrollPages.map(
-      (scrollPage: UnitPage): number => this.pages.indexOf(scrollPage)
+      (scrollPage: Page): number => this.pages.indexOf(scrollPage)
     );
-    this.validPagesDetermined.emit(this.scrollPages.map((page: UnitPage, index: number): Record<string, string> => (
+    this.validPagesDetermined.emit(this.scrollPages.map((page: Page, index: number): Record<string, string> => (
       {
         [index.toString(10)]: `${this.translateService.instant('pageIndication', {
           index: index + 1
@@ -101,7 +101,7 @@ export class LayoutComponent implements OnInit, OnDestroy {
       this.maxWidth.alwaysVisiblePage
     );
     this.containerMaxWidth.scrollPages = this.getContainerMaxWidth(
-      this.scrollPages.findIndex((page: UnitPage): boolean => !page.hasMaxWidth) > -1,
+      this.scrollPages.findIndex((page: Page): boolean => !page.hasMaxWidth) > -1,
       this.maxWidth.scrollPages
     );
   }
@@ -120,10 +120,10 @@ export class LayoutComponent implements OnInit, OnDestroy {
 
   private getScrollPagesWidth(): number {
     return this.hasScrollPages ?
-      Math.max(...this.scrollPages.map((page: UnitPage): number => this.getAbsolutePageWidth(page))) : 0;
+      Math.max(...this.scrollPages.map((page: Page): number => this.getAbsolutePageWidth(page))) : 0;
   }
 
-  private getAbsolutePageWidth = (page: UnitPage | undefined): number => ((page) ? 2 * page.margin + page.maxWidth : 0);
+  private getAbsolutePageWidth = (page: Page | undefined): number => ((page) ? 2 * page.margin + page.maxWidth : 0);
 
   onSelectedIndexChange(selectedIndex: number): void {
     this.selectedIndexChange.emit(selectedIndex);
diff --git a/projects/player/src/app/components/page/page.component.ts b/projects/player/src/app/components/page/page.component.ts
index ee0f045ae396948784ce15273df2b6fa81df84d6..4e68b9ec9af8e3896a2493869e5922b06c2ae526 100644
--- a/projects/player/src/app/components/page/page.component.ts
+++ b/projects/player/src/app/components/page/page.component.ts
@@ -2,9 +2,9 @@ import {
   Component, Input, OnInit, Output, EventEmitter
 } from '@angular/core';
 import { FormBuilder, FormGroup } from '@angular/forms';
-import { UnitPage } from '../../../../../common/unit';
 import { FormService } from '../../../../../common/form.service';
 import { UnitStateService } from '../../services/unit-state.service';
+import { Page } from '../../../../../common/classes/page';
 
 @Component({
   selector: 'app-page',
@@ -12,7 +12,7 @@ import { UnitStateService } from '../../services/unit-state.service';
 })
 
 export class PageComponent implements OnInit {
-  @Input() page!: UnitPage;
+  @Input() page!: Page;
   @Input() isLastPage!: boolean;
   @Input() parentForm!: FormGroup;
   @Input() parentArrayIndex!: number;
diff --git a/projects/player/src/app/components/player-state/player-state.component.ts b/projects/player/src/app/components/player-state/player-state.component.ts
index aa60748aae3dddb07dbd2bf5abe3d37930ddb914..ed311d9072f8ddd52a93e076638260f2c76c968e 100644
--- a/projects/player/src/app/components/player-state/player-state.component.ts
+++ b/projects/player/src/app/components/player-state/player-state.component.ts
@@ -4,13 +4,13 @@ import {
 import { FormGroup } from '@angular/forms';
 import { takeUntil } from 'rxjs/operators';
 import { Subject } from 'rxjs';
-import { UnitPage } from '../../../../../common/unit';
 import { VeronaSubscriptionService } from '../../services/verona-subscription.service';
 import {
   PlayerConfig, PlayerState, RunningState,
   VopContinueCommand, VopGetStateRequest, VopPageNavigationCommand, VopStopCommand
 } from '../../models/verona';
 import { VeronaPostService } from '../../services/verona-post.service';
+import { Page } from '../../../../../common/classes/page';
 
 @Component({
   selector: 'app-player-state',
@@ -19,7 +19,7 @@ import { VeronaPostService } from '../../services/verona-post.service';
 })
 export class PlayerStateComponent implements OnInit, OnDestroy {
   @Input() parentForm!: FormGroup;
-  @Input() pages!: UnitPage[];
+  @Input() pages!: Page[];
   @Input() playerConfig!: PlayerConfig;
 
   currentPlayerPageIndex: number = 0;
diff --git a/projects/player/src/app/components/section/section.component.ts b/projects/player/src/app/components/section/section.component.ts
index c8d24a4d781bfaf6ca250053ff240d31047784df..0c1d7a9a9e0a7d760825a0dc1632016e19b31ff6 100644
--- a/projects/player/src/app/components/section/section.component.ts
+++ b/projects/player/src/app/components/section/section.component.ts
@@ -2,8 +2,8 @@ import {
   Component, Input, OnInit
 } from '@angular/core';
 import { FormBuilder, FormGroup } from '@angular/forms';
-import { UnitPageSection } from '../../../../../common/unit';
 import { FormService } from '../../../../../common/form.service';
+import { Section } from '../../../../../common/classes/section';
 
 @Component({
   selector: 'app-section',
@@ -11,7 +11,7 @@ import { FormService } from '../../../../../common/form.service';
 })
 export class SectionComponent implements OnInit {
   @Input() parentForm!: FormGroup;
-  @Input() section!: UnitPageSection;
+  @Input() section!: Section;
   @Input() parentArrayIndex!: number;
 
   sectionForm!: FormGroup;
diff --git a/projects/player/src/app/components/unit-state/unit-state.component.ts b/projects/player/src/app/components/unit-state/unit-state.component.ts
index f4a7d8690cb09690608b6d417303e3a561c6d411..6d44f0f6455ca2784b1ecff708d9934807801881 100644
--- a/projects/player/src/app/components/unit-state/unit-state.component.ts
+++ b/projects/player/src/app/components/unit-state/unit-state.component.ts
@@ -19,15 +19,15 @@ import {
 import {
   PlayerConfig, Progress, UnitState, VopNavigationDeniedNotification
 } from '../../models/verona';
-import { UnitPage } from '../../../../../common/unit';
 import { UnitStateService } from '../../services/unit-state.service';
+import { Page } from '../../../../../common/classes/page';
 
 @Component({
   selector: 'app-unit-state',
   templateUrl: './unit-state.component.html'
 })
 export class UnitStateComponent implements OnInit, OnDestroy {
-  @Input() pages: UnitPage[] = [];
+  @Input() pages: Page[] = [];
   @Input() playerConfig!: PlayerConfig;
 
   form!: FormGroup;
diff --git a/projects/player/src/app/services/unit-state.service.ts b/projects/player/src/app/services/unit-state.service.ts
index fa1b7310dbee408d26bda98811847bf0aa6959e5..e2bdb20e78a2fa65d992b9f0a04248bba0c149df 100644
--- a/projects/player/src/app/services/unit-state.service.ts
+++ b/projects/player/src/app/services/unit-state.service.ts
@@ -1,6 +1,5 @@
 import { Injectable } from '@angular/core';
 import { Observable, Subject } from 'rxjs';
-import { UnitUIElement } from '../../../../common/unit';
 import {
   StatusChangeElement,
   UnitStateElementCode,
@@ -8,6 +7,7 @@ import {
   UnitStateElementCodeStatusValue
 } from '../models/verona';
 import { ValueChangeElement } from '../../../../common/form';
+import { InputElement } from '../../../../common/classes/uIElement';
 
 @Injectable({
   providedIn: 'root'
@@ -49,7 +49,7 @@ export class UnitStateService {
     return this._presentedPageAdded.asObservable();
   }
 
-  registerElement(element: UnitUIElement): void {
+  registerElement(element: InputElement): void {
     this.addUnitStateElementCode(element.id, element.value);
   }