diff --git a/deploy_checkit_tiff/add_dnx_mappings/add_dnx_mappings.pl b/deploy_checkit_tiff/add_dnx_mappings/add_dnx_mappings.pl
index e5c559fdccf7a8fee70de84deb859ed376ba3199..076d7e9b72c0198c83927c48ff8ef82a15f5aa7b 100644
--- a/deploy_checkit_tiff/add_dnx_mappings/add_dnx_mappings.pl
+++ b/deploy_checkit_tiff/add_dnx_mappings/add_dnx_mappings.pl
@@ -1,13 +1,13 @@
 #!/usr/bin/env perl 
 # adds all dnx properties
-# by Andreas Romeyke (andreas.romeyke@slub-dresden.de)
+# by Andreas Romeyke (andreas.romeyke@slub-dresden.de) and Serhiy Bolkun (serhiy.bolkun@slub-dresden.de)
 #
 # needs a geckodriver and the Selenium::Remote::Driver module
 # see http://www.seleniumhq.org/
 #
-# tested against Rosetta 5.2 using chromedriver and chromium 60.0.3112.78 
-# under Debian Stretch
-
+# tested against Rosetta 7.0 using chromedriver and chromium 90.0.4430.93
+# under Windows 10 and Debian 10
+#
 # ensure, that the plugin is assigned to a classification, for example to
 # "Image (Mix)"
 
@@ -16,18 +16,24 @@ use warnings;
 use utf8;
 use Selenium::Remote::Driver;
 use Selenium::Chrome;
+use Term::ANSIColor; # colored print
 use Data::Printer;
 use v5.10;
 
-my $host=shift;
-my $user=shift;
-my $passwd=shift;
-my $institution=shift;
-#my $ui_port=":1801";
-#my $ui_port=":80"; # Produktion
-my $ui_port=shift;
+BEGIN {
+    if ($^O eq 'MSWin32') {
+        require Win32::Console::ANSI;
+        Win32::Console::ANSI->import();
+    }
+}
 
 
+my $host = shift;
+my $user = shift;
+my $passwd = shift;
+my $institution = shift;
+my $ui_port = shift; # 1801, 80 for Produktion
+my $protocol = 'https';
 my %exiftool2dnx = (
     "ICC-header:ColorSpaceData" => "icc.colorspacedata",
     "ICC-header:DeviceModel" => "icc.devicemodel",
@@ -63,98 +69,72 @@ my %exiftool2dnx = (
     "IFD0:XResolution" => "image.xresolution", # TIFF-Tag 282 XResolution ( Angabe in dpi)
     "IFD0:YResolution" => "image.yresolution", # TIFF-Tag 283 YResolution ( Angabe in dpi)
 );
-
-my $plugin_name="SLUBTechnicalMetadataExtractorCheckItTiffPlugin";
-my $classification_group="Image (Mix)";
-
+my $plugin_name = "SLUBTechnicalMetadataExtractorCheckItTiffPlugin";
+my $classification_group = "Image (Mix)";
+my $driver = Selenium::Chrome->new();
+$driver->debug_on;
+$driver->set_implicit_wait_timeout(1000);
+$driver->set_timeout('script', 1000);
 
 print "Try to mechanize adding DNX, using: 
   host=$host
   user=$user
   institution=$institution
-  ";
-
-my $driver = Selenium::Chrome->new();
-$driver->debug_on;
-$driver->set_implicit_wait_timeout(1000);
-$driver->set_timeout('script', 1000);
+  \n";
 
 sub login {
-    print "login:\n";
-    #$driver->get("http://$host:8991/pds?func=load-login&lang=en&langOptions=en.English&institution=&institute=INS_SLUB&calling_system=dps");
-    $driver->get("http://$host:1801/mng?auth=local");
-    #$driver->get("https://$host:8443/mng?auth=local");
-    #my $ele_institute = $driver->find_element("institute", "id");
-    my $ele_institute = $driver->find_element("selectInstitution", "id");
-    p( $ele_institute);
-    print "inst select found\n";
-    $driver->find_child_element(
-        $ele_institute,
-        "./option[\@value='$institution']", "xpath"
-    )->click;
+    $driver->get("$protocol://$host:${ui_port}/mng?auth=local");
+    my $ele_institute = $driver->find_element("institution", "id");
+    $driver->find_child_element($ele_institute, "./option[\@value='$institution']", "xpath")->click;
     $driver->find_element("userName", "id")->clear;
-    $driver->find_element("userName", "id")->send_keys("$user");
+    $driver->find_element("userName", "id")->send_keys($user);
     $driver->find_element("password", "id")->clear;
-    $driver->find_element("password", "id")->send_keys("$passwd");
-    $driver->find_element("Login", "name")->click;
+    $driver->find_element("password", "id")->send_keys($passwd);
+    $driver->find_element("login", "id")->click;
 }
 
 sub logout {
-    print "logout:\n";
-    $driver->get("http://$host${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
-    #$driver->get("https://$host${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
+    $driver->get("$protocol://$host:${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
     my $ele = $driver->find_element("user", "id")->click;
     $driver->pause();
     $ele = $driver->find_element("Logout", "link")->click;
 }
 
-
-
 sub _change_to_xxx_format_library {
-    $driver->get("http://$host${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
-    #$driver->get("https://$host${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
-    #$driver->find_element("Quick Launch", "link")->click;
-    # $driver->find_element("Administer the system", "link")->click;
+    $driver->get("$protocol://$host:${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
     $driver->find_element("//a[\@title='Administer the system']", "xpath")->click;
-    #~ $driver->find_element("General", "link")->click; # Fix for Rosetta 5.5+
     $driver->find_element("General Parameters", "link")->click;
-    $driver->find_element("undefined_button", "id")->click;
+    $driver->find_element("modules_button", "id")->click;
     $driver->find_element("//li[\@title='format_library']", "xpath")->click;
-    ## find 'tr[/td=format_library_is_global]', dann undefined button clicken,
     my $tr = $driver->find_element("//tr[starts-with(td,'format_library_is_global')]", "xpath");
-    p( $tr );
     my $td = $driver->find_child_element($tr, "./td[\@class='form-inline']", "xpath");
-    p ($td);
-    $driver->find_child_element( $td, "descendant::button[\@id='undefined_button']", "xpath")->click;
+    $driver->find_element("generalParameters_model_parameters_2__value_button", "id")->click;
     say "click combobox button";
     return $td;
-
 }
+
 sub change_to_global_format_library {
-    my $td=_change_to_xxx_format_library();
-    $driver->find_child_element( $td, "descendant::li[text()='true']", "xpath")->click;
+    my $td = _change_to_xxx_format_library();
+    $driver->find_child_element($td, "descendant::li[text()='true']", "xpath")->click;
     say "select true";
     $driver->find_element("//button[\@value='Update']", "xpath")->click;
     say "click update button";
 }
+
 sub change_to_local_format_library {
     my $td = _change_to_xxx_format_library();
-    $driver->find_child_element( $td, "descendant::li[text()='false']", "xpath")->click;
+    $driver->find_child_element($td, "descendant::li[text()='false']", "xpath")->click;
     say "select false";
     $driver->find_element("//button[\@value='Update']", "xpath")->click;
     say "click update button";
     $driver->pause();
 }
 
-sub add_dnx_property ($$) {
+sub add_dnx_property($$) {
     my $dnx_property = shift;
     my $dnx_description = shift;
     my $dow = localtime;
-    #$driver->get("http://$host${ui_port}/mng/action/menus.do?first_time_key=com.exlibris.dps.wrk.general.menu");
-    #$driver->find_element("Preservation", "link")->click;
-    #$driver->find_element("(//a[contains(text(),'Significant Properties')])[2]", "xpath")->click;
-    $driver->get("http://$host${ui_port}/mng/action/pageAction.page_xml.page_sig_prop_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.SigProps.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.SigProps.InnerMenu&backUrl=");
-    #$driver->get("https://$host${ui_port}/mng/action/pageAction.page_xml.page_sig_prop_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.SigProps.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.SigProps.InnerMenu&backUrl=");
+    $driver->get("$protocol://$host:${ui_port}/mng/action/pageAction.page_xml.page_sig_prop_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.SigProps.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.SigProps.InnerMenu&backUrl=");
     $driver->pause();
     $driver->find_element("Add Significant Property", "link")->click;
     $driver->find_element("selectedSigPropname", "id")->clear;
@@ -164,35 +144,29 @@ sub add_dnx_property ($$) {
     $driver->find_element("SaveSigPropGenDetails", "name")->click;
 }
 
-sub join_dnx_property_to_classification_group ($) {
+sub join_dnx_property_to_classification_group($) {
     my $dnx_property = shift;
     say "try to join dnx property";
-    $driver->get("http://$host${ui_port}/mng/action/pageAction.page_xml.page_classification_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&backUrl=");
-    #$driver->get("https://$host${ui_port}/mng/action/pageAction.page_xml.page_classification_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&backUrl=");
+    $driver->get("$protocol://$host:${ui_port}/mng/action/pageAction.page_xml.page_classification_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&backUrl=");
     $driver->pause();
     $driver->find_element("find0.0", "id")->clear;
     $driver->find_element("find0.0", "id")->send_keys($classification_group);
     $driver->find_element("go", "name")->click;
     $driver->find_element("Edit", "link")->click;
     $driver->find_element("Related Properties", "link")->click;
-    my $ele = $driver->find_element("//form[\@id='classificationDetailsForm']//div[\@class='available']", "xpath");
-    $driver->find_child_element($ele, "(//input[\@type='text'])", "xpath")->clear;
-    $driver->find_child_element($ele, "(//input[\@type='text'])[3]", "xpath")->send_keys($dnx_property);
-    #$driver->find_element("//form[\@id='classificationDetailsForm']/div/div[4]/div/div/div[2]/ul/li[230]/a/span", "xpath")->click;
-    #my $ele = $driver->find_element("li[\@title='$dnx_property']", "xpath");
-    #$driver->find_child_element( $ele, "a", "link")->click;
+    $driver->find_element("//form[\@id='classificationDetails']//div[\@class='available']//div//input", "xpath")->clear;
+    $driver->find_element("//form[\@id='classificationDetails']//div[\@class='available']//div//input", "xpath")->send_keys($dnx_property);
     $driver->pause();
     $driver->find_element("Add all", "link")->click;
     $driver->find_element("SaveClassificationGenDetails", "name")->click;
     $driver->pause();
 }
 
-sub extractors_add_mapping ($$) {
+sub extractors_add_mapping($$) {
     my $dnx_property = shift;
     my $exiftool_property = shift;
     say "try to add extractor mapping";
-    $driver->get("http://$host${ui_port}//mng/action/pageAction.page_xml.page_extractors_list.xml.do?pageBean.deploymentMode=BUNDLED&pageViewMode=Edit&pageBean.currentUserMode=LOCAL&RenewBean=true&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&backUrl=");
-    #$driver->get("https://$host${ui_port}//mng/action/pageAction.page_xml.page_extractors_list.xml.do?pageBean.deploymentMode=BUNDLED&pageViewMode=Edit&pageBean.currentUserMode=LOCAL&RenewBean=true&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&backUrl=");
+    $driver->get("$protocol://$host:${ui_port}//mng/action/pageAction.page_xml.page_extractors_list.xml.do?pageBean.deploymentMode=BUNDLED&pageViewMode=Edit&pageBean.currentUserMode=LOCAL&RenewBean=true&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&backUrl=");
     $driver->pause();
     $driver->find_element("Custom", "link")->click;
     $driver->find_element("find1.0", "id")->clear;
@@ -200,14 +174,13 @@ sub extractors_add_mapping ($$) {
     $driver->find_element("go", "name")->click;
     $driver->find_element("Edit", "link")->click;
     $driver->find_element("Add Mapping", "link")->click;
-    $driver->find_element("pageBeancurrentMappingextractorProperty_input", "id")->click;
     $driver->find_element("pageBeancurrentMappingextractorProperty_input", "id")->clear;
-    $driver->find_element("pageBeancurrentMappingextractorProperty_input", "id")->send_keys($exiftool_property);
+    $driver->find_element("pageBeancurrentMappingextractorProperty_button", "id")->click;
+    $driver->pause();
     $driver->find_element("//li[\@title='$exiftool_property']", "xpath")->click;
     $driver->pause();
-    $driver->find_element("pageBeancurrentMappingclassificationProperty_input", "id")->click;
     $driver->find_element("pageBeancurrentMappingclassificationProperty_input", "id")->clear;
-    $driver->find_element("pageBeancurrentMappingclassificationProperty_input", "id")->send_keys("$dnx_property");
+    $driver->find_element("pageBeancurrentMappingclassificationProperty_button", "id")->click;
     $driver->pause();
     $driver->find_element("//li[\@title='$dnx_property']", "xpath")->click;
     $driver->pause();
@@ -219,35 +192,44 @@ sub extractors_add_mapping ($$) {
     $driver->pause();
 }
 
+# login
+printf colored("Step 1 of 7: login \n", 'bold green');
 login();
 
 # change to global format library
+printf colored("Step 2 of 7: change to global format library \n", 'bold green');
 change_to_global_format_library();
 
 # add dnx property
-
+printf colored("Step 3 of 7: add dnx property \n", 'bold green');
 foreach my $exiftool_property (sort keys %exiftool2dnx) {
     my $dnx_property = $exiftool2dnx{ $exiftool_property };
     add_dnx_property($dnx_property, "$dnx_property <- Exiftool '$exiftool_property'");
 }
 
+# include dnx property to classification group (Image(MIX))
+printf colored("Step 4 of 7: join dnx property to classification group \n", 'bold green');
 foreach my $exiftool_property (sort keys %exiftool2dnx) {
     my $dnx_property = $exiftool2dnx{ $exiftool_property };
-    join_dnx_property_to_classification_group( $dnx_property);
+    join_dnx_property_to_classification_group($dnx_property);
 }
 
+# add mapping
+printf colored("Step 5 of 7: extractors add mapping \n", 'bold green');
 foreach my $exiftool_property (sort keys %exiftool2dnx) {
     my $dnx_property = $exiftool2dnx{ $exiftool_property };
-    extractors_add_mapping ($dnx_property, $exiftool_property);
+    extractors_add_mapping($dnx_property, $exiftool_property);
 }
 
-# include dnx property to classification group (Image(MIX))
-# add mapping
 # change to local format library
+printf colored("Step 6 of 7: change to local format library \n", 'bold green');
 change_to_local_format_library();
 
+# logout
+printf colored("Step 7 of 7: logout \n", 'bold green');
 logout();
 
-
 $driver->quit();
 $driver->shutdown_binary();
+
+printf colored("Finish! \n", 'bold green');