diff --git a/src/ui/zcl_abapgit_gui_page.clas.abap b/src/ui/zcl_abapgit_gui_page.clas.abap
new file mode 100644
index 000000000..93b9f5671
--- /dev/null
+++ b/src/ui/zcl_abapgit_gui_page.clas.abap
@@ -0,0 +1,172 @@
+CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT CREATE PUBLIC.
+
+ PUBLIC SECTION.
+ INTERFACES zif_abapgit_gui_page.
+
+ PROTECTED SECTION.
+
+ TYPES: BEGIN OF ty_control,
+ redirect_url TYPE string,
+ page_title TYPE string,
+ page_menu TYPE REF TO zcl_abapgit_html_toolbar,
+ END OF ty_control.
+
+ DATA: ms_control TYPE ty_control.
+
+ METHODS render_content ABSTRACT
+ RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
+ RAISING zcx_abapgit_exception.
+
+ METHODS scripts
+ RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
+ RAISING zcx_abapgit_exception.
+
+ PRIVATE SECTION.
+
+ METHODS html_head
+ RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
+
+ METHODS title
+ RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
+
+
+ METHODS footer
+ RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
+
+ METHODS redirect
+ RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
+
+ENDCLASS.
+
+
+
+CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION.
+
+
+ METHOD footer.
+
+ CREATE OBJECT ro_html.
+
+ ro_html->add( '
' ). "#EC NOTEXT
+
+ ENDMETHOD. "footer
+
+
+ METHOD html_head.
+
+ CREATE OBJECT ro_html.
+
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ro_html->add( 'abapGit' ). "#EC NOTEXT
+ ro_html->add( '' ).
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ro_html->add( zcl_abapgit_gui_asset_manager=>get_webfont_link( ) ). " Web fonts
+
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ENDMETHOD. "html_head
+
+
+ METHOD redirect.
+
+ CREATE OBJECT ro_html.
+
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( || ). "#EC NOTEXT
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ENDMETHOD.
+
+
+ METHOD scripts.
+ ASSERT 1 = 1. " Dummy
+ ENDMETHOD. "scripts
+
+
+ METHOD title.
+
+ CREATE OBJECT ro_html.
+
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ENDMETHOD. "render page title
+
+
+ METHOD zif_abapgit_gui_page~on_event.
+ ev_state = zif_abapgit_definitions=>gc_event_state-not_handled.
+ ENDMETHOD. "lif_gui_page~on_event
+
+
+ METHOD zif_abapgit_gui_page~render.
+
+ DATA lo_script TYPE REF TO zcl_abapgit_html.
+
+ " Redirect
+ IF ms_control-redirect_url IS NOT INITIAL.
+ ro_html = redirect( ).
+ RETURN.
+ ENDIF.
+
+ " Real page
+ CREATE OBJECT ro_html.
+
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( html_head( ) ).
+ ro_html->add( '' ). "#EC NOTEXT
+ ro_html->add( title( ) ).
+ ro_html->add( render_content( ) ).
+ ro_html->add( footer( ) ).
+ ro_html->add( '' ). "#EC NOTEXT
+
+ lo_script = scripts( ).
+
+ IF lo_script IS BOUND AND lo_script->is_empty( ) = abap_false.
+ ro_html->add( '' ).
+ ENDIF.
+
+ ro_html->add( '' ). "#EC NOTEXT
+
+ ENDMETHOD. " lif_gui_page~render.
+ENDCLASS.
diff --git a/src/ui/zcl_abapgit_gui_page.clas.xml b/src/ui/zcl_abapgit_gui_page.clas.xml
new file mode 100644
index 000000000..a3d878cb7
--- /dev/null
+++ b/src/ui/zcl_abapgit_gui_page.clas.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ ZCL_ABAPGIT_GUI_PAGE
+ 1
+ E
+ GUI Page
+ 2
+ 1
+ X
+ X
+ X
+ X
+
+
+
+
diff --git a/src/zabapgit_page.prog.abap b/src/zabapgit_page.prog.abap
index 9bb42f4e4..633719858 100644
--- a/src/zabapgit_page.prog.abap
+++ b/src/zabapgit_page.prog.abap
@@ -2,166 +2,4 @@
*& Include ZABAPGIT_PAGE
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page DEFINITION ABSTRACT.
- PUBLIC SECTION.
- INTERFACES zif_abapgit_gui_page.
-
- PROTECTED SECTION.
-
- TYPES: BEGIN OF ty_control,
- redirect_url TYPE string,
- page_title TYPE string,
- page_menu TYPE REF TO zcl_abapgit_html_toolbar,
- END OF ty_control.
-
- DATA: ms_control TYPE ty_control.
-
- METHODS render_content ABSTRACT
- RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
- RAISING zcx_abapgit_exception.
-
- METHODS scripts
- RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
- RAISING zcx_abapgit_exception.
-
- PRIVATE SECTION.
-
- METHODS html_head
- RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
-
- METHODS title
- RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
-
-
- METHODS footer
- RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
-
- METHODS redirect
- RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html.
-
-ENDCLASS. "lcl_gui_page
-
-CLASS lcl_gui_page IMPLEMENTATION.
-
- METHOD html_head.
-
- CREATE OBJECT ro_html.
-
- ro_html->add( '' ). "#EC NOTEXT
-
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( '' ). "#EC NOTEXT
-
- ro_html->add( 'abapGit' ). "#EC NOTEXT
- ro_html->add( '' ).
- ro_html->add( '' ). "#EC NOTEXT
-
- ro_html->add( zcl_abapgit_gui_asset_manager=>get_webfont_link( ) ). " Web fonts
-
- ro_html->add( '' ). "#EC NOTEXT
-
- ENDMETHOD. "html_head
-
- METHOD title.
-
- CREATE OBJECT ro_html.
-
- ro_html->add( '' ). "#EC NOTEXT
-
- ENDMETHOD. "render page title
-
- METHOD footer.
-
- CREATE OBJECT ro_html.
-
- ro_html->add( '' ). "#EC NOTEXT
-
- ENDMETHOD. "footer
-
- METHOD redirect.
-
- CREATE OBJECT ro_html.
-
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( || ). "#EC NOTEXT
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( '' ). "#EC NOTEXT
-
- ENDMETHOD.
-
- METHOD scripts.
- ASSERT 1 = 1. " Dummy
- ENDMETHOD. "scripts
-
- METHOD zif_abapgit_gui_page~on_event.
- ev_state = zif_abapgit_definitions=>gc_event_state-not_handled.
- ENDMETHOD. "lif_gui_page~on_event
-
- METHOD zif_abapgit_gui_page~render.
-
- DATA lo_script TYPE REF TO zcl_abapgit_html.
-
- " Redirect
- IF ms_control-redirect_url IS NOT INITIAL.
- ro_html = redirect( ).
- RETURN.
- ENDIF.
-
- " Real page
- CREATE OBJECT ro_html.
-
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( html_head( ) ).
- ro_html->add( '' ). "#EC NOTEXT
- ro_html->add( title( ) ).
- ro_html->add( render_content( ) ).
- ro_html->add( footer( ) ).
- ro_html->add( '' ). "#EC NOTEXT
-
- lo_script = scripts( ).
-
- IF lo_script IS BOUND AND lo_script->is_empty( ) = abap_false.
- ro_html->add( '' ).
- ENDIF.
-
- ro_html->add( '' ). "#EC NOTEXT
-
- ENDMETHOD. " lif_gui_page~render.
-
-ENDCLASS. "lcl_gui_page
+* todo, include to be deleted
diff --git a/src/zabapgit_page_background.prog.abap b/src/zabapgit_page_background.prog.abap
index 98d54854c..d074a7e64 100644
--- a/src/zabapgit_page_background.prog.abap
+++ b/src/zabapgit_page_background.prog.abap
@@ -2,8 +2,7 @@
*& Include ZABAPGIT_PAGE_BACKGROUND
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_bkg_run DEFINITION FINAL
- INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_bkg_run DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS constructor.
@@ -72,8 +71,7 @@ CLASS lcl_gui_page_bkg_run IMPLEMENTATION.
ENDCLASS.
-CLASS lcl_gui_page_bkg DEFINITION FINAL
- INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_bkg DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
diff --git a/src/zabapgit_page_branch_overview.prog.abap b/src/zabapgit_page_branch_overview.prog.abap
index d91457978..e8f366d96 100644
--- a/src/zabapgit_page_branch_overview.prog.abap
+++ b/src/zabapgit_page_branch_overview.prog.abap
@@ -339,7 +339,7 @@ ENDCLASS.
***********************
-CLASS lcl_gui_page_boverview DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_boverview DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
diff --git a/src/zabapgit_page_commit.prog.abap b/src/zabapgit_page_commit.prog.abap
index ab7704012..5cc5826cd 100644
--- a/src/zabapgit_page_commit.prog.abap
+++ b/src/zabapgit_page_commit.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_COMMIT
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
diff --git a/src/zabapgit_page_db.prog.abap b/src/zabapgit_page_db.prog.abap
index 3ee607dbf..8784c7de9 100644
--- a/src/zabapgit_page_db.prog.abap
+++ b/src/zabapgit_page_db.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_DB
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_db_dis DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_db_dis DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS: constructor
@@ -79,7 +79,7 @@ CLASS lcl_gui_page_db_dis IMPLEMENTATION.
ENDCLASS.
-CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS: constructor
@@ -150,7 +150,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
ENDCLASS.
-CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS constructor.
diff --git a/src/zabapgit_page_debug.prog.abap b/src/zabapgit_page_debug.prog.abap
index c2ca6c9b0..60d863de9 100644
--- a/src/zabapgit_page_debug.prog.abap
+++ b/src/zabapgit_page_debug.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_DEBUG
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS constructor.
diff --git a/src/zabapgit_page_diff.prog.abap b/src/zabapgit_page_diff.prog.abap
index 130665f6e..3e95ebf48 100644
--- a/src/zabapgit_page_diff.prog.abap
+++ b/src/zabapgit_page_diff.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_DIFF
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
diff --git a/src/zabapgit_page_explore.prog.abap b/src/zabapgit_page_explore.prog.abap
index dbaca49e6..a0c58a56e 100644
--- a/src/zabapgit_page_explore.prog.abap
+++ b/src/zabapgit_page_explore.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_EXPLORE
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
CONSTANTS c_explore_url TYPE string
diff --git a/src/zabapgit_page_main.prog.abap b/src/zabapgit_page_main.prog.abap
index a9e31eed7..6b2a1cae2 100644
--- a/src/zabapgit_page_main.prog.abap
+++ b/src/zabapgit_page_main.prog.abap
@@ -2,13 +2,13 @@
*& Include ZABAPGIT_PAGE_MAIN
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
constructor
RAISING zcx_abapgit_exception,
- zif_abapgit_gui_page~on_event REDEFINITION.
+ zif_abapgit_gui_page~on_event REDEFINITION.
PROTECTED SECTION.
METHODS render_content REDEFINITION.
diff --git a/src/zabapgit_page_merge.prog.abap b/src/zabapgit_page_merge.prog.abap
index 625b8c228..4892641ce 100644
--- a/src/zabapgit_page_merge.prog.abap
+++ b/src/zabapgit_page_merge.prog.abap
@@ -317,7 +317,7 @@ ENDCLASS.
*********************************
-CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
diff --git a/src/zabapgit_page_repo_settings.prog.abap b/src/zabapgit_page_repo_settings.prog.abap
index 05b774356..506189912 100644
--- a/src/zabapgit_page_repo_settings.prog.abap
+++ b/src/zabapgit_page_repo_settings.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_REPO_SETTINGS
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_repo_sett DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_repo_sett DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
constructor
diff --git a/src/zabapgit_page_settings.prog.abap b/src/zabapgit_page_settings.prog.abap
index 7487513e8..c7407ac2a 100644
--- a/src/zabapgit_page_settings.prog.abap
+++ b/src/zabapgit_page_settings.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_SETTINGS
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
CONSTANTS:
diff --git a/src/zabapgit_page_stage.prog.abap b/src/zabapgit_page_stage.prog.abap
index 7338b58fd..ff6f4ab02 100644
--- a/src/zabapgit_page_stage.prog.abap
+++ b/src/zabapgit_page_stage.prog.abap
@@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_STAGE
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
CONSTANTS: BEGIN OF c_action,
diff --git a/src/zabapgit_page_syntax_check.prog.abap b/src/zabapgit_page_syntax_check.prog.abap
index 99b6914fc..09a8436ac 100644
--- a/src/zabapgit_page_syntax_check.prog.abap
+++ b/src/zabapgit_page_syntax_check.prog.abap
@@ -6,18 +6,13 @@
*& Include ZABAPGIT_PAGE_REPO_SETTINGS
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_syntax_check DEFINITION FINAL INHERITING FROM lcl_gui_page.
+CLASS lcl_gui_page_syntax_check DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
constructor
IMPORTING io_repo TYPE REF TO lcl_repo.
PROTECTED SECTION.
-* CONSTANTS:
-* BEGIN OF c_action,
-* back TYPE string VALUE 'back',
-* END OF c_action.
-
DATA: mo_repo TYPE REF TO lcl_repo.
METHODS: