diff --git a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js
index d4d6662772235ca423e3a498d341fa82c52bd2c9..8a2070ea51f75c494746eae7013bf214364103ce 100644
--- a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js
+++ b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js
@@ -223,7 +223,7 @@ AbstractExportPanel.prototype.getMiriamTypesDualListbox = function () {
  *
  * @param {{columnName:string, name:string}[]} columnTypes
  * @returns {HTMLElement}
- * @private
+ * @protected
  */
 AbstractExportPanel.prototype._createSelectColumnDiv = function (columnTypes) {
   var columnDiv = Functions.createElement({
diff --git a/frontend-js/src/main/js/gui/export/ElementExportPanel.js b/frontend-js/src/main/js/gui/export/ElementExportPanel.js
index 8c96fec2a2c4b8a705dd93ebd16ac680c601ec81..5cbc4053b1eed4ea59c88202dda7fcb3ade3fb85 100644
--- a/frontend-js/src/main/js/gui/export/ElementExportPanel.js
+++ b/frontend-js/src/main/js/gui/export/ElementExportPanel.js
@@ -3,10 +3,10 @@
 /* exported logger */
 
 var AbstractExportPanel = require('./AbstractExportPanel');
-var Functions = require('../../Functions');
 var GuiMessageError = require('../GuiMessageError');
 var IdentifiedElement = require('../../map/data/IdentifiedElement');
 
+// noinspection JSUnusedLocalSymbols
 var logger = require('../../logger');
 
 var Promise = require("bluebird");
@@ -23,7 +23,7 @@ var Promise = require("bluebird");
  * @extends AbstractExportPanel
  */
 function ElementExportPanel(params) {
-  params.panelName = "elementExport";
+  params["panelName"] = "elementExport";
   AbstractExportPanel.call(this, params);
 }
 
@@ -37,14 +37,11 @@ ElementExportPanel.prototype.constructor = ElementExportPanel;
 ElementExportPanel.prototype.init = function () {
   var self = this;
   var element = self.getElement();
-  var configuration;
-  return ServerConnector.getConfiguration().then(function (result) {
-    configuration = result;
-    var typeDiv = self._createSelectTypeDiv(configuration.getElementTypes());
-    element.appendChild(typeDiv);
-    element.appendChild(self._createSelectColumnDiv(self.getAllColumns()));
-    return ServerConnector.getProjectStatistics(self.getProject().getProjectId());
-  }).then(function (statistics) {
+  var configuration = self.getConfiguration();
+  var typeDiv = self._createSelectTypeDiv(configuration.getElementTypes());
+  element.appendChild(typeDiv);
+  element.appendChild(self._createSelectColumnDiv(self.getAllColumns()));
+  return self.getServerConnector().getProjectStatistics(self.getProject().getProjectId()).then(function (statistics) {
     return self._createMiriamTypeDiv(statistics.getElementAnnotations());
   }).then(function (div) {
     element.appendChild(div);
diff --git a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js
index 7ae054ea43a11b081c926c0f37a498069ece178c..be02659da4ce6fae6acc7a9f322adfc661a1f46c 100644
--- a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js
+++ b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js
@@ -12,19 +12,22 @@ var assert = require('assert');
 
 describe('ElementExportPanel', function () {
 
+  function createExportPanel(project) {
+    return new ElementExportPanel({
+      element: testDiv,
+      project: project,
+      serverConnector: ServerConnector,
+      configuration: helper.getConfiguration()
+    });
+  }
+
   describe('getSelectedTypes', function () {
     it('select single element', function () {
       var exportObject;
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         $("input[name='Degraded']", $(testDiv)).each(function (index, element) {
@@ -41,19 +44,10 @@ describe('ElementExportPanel', function () {
       var project;
       var elementTypes;
 
-      var configuration;
-
-      return ServerConnector.getConfiguration().then(function (result) {
-        configuration = result;
-        elementTypes = configuration.getSimpleElementTypeNames();
-        return ServerConnector.getProject();
-      }).then(function (result) {
+      elementTypes = helper.getConfiguration().getSimpleElementTypeNames();
+      return ServerConnector.getProject().then(function (result) {
         project = result;
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         $("input[name='Degraded']", $(testDiv)).each(function (index, element) {
@@ -75,13 +69,7 @@ describe('ElementExportPanel', function () {
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         $("input[name='column_name']", $(testDiv)).each(function (index, element) {
@@ -95,20 +83,9 @@ describe('ElementExportPanel', function () {
     it('select all', function () {
       var exportObject;
       var project;
-      var elementTypes;
-      var configuration;
-
-      return ServerConnector.getConfiguration().then(function (result) {
-        configuration = result;
-        elementTypes = configuration.getElementTypes();
-        return ServerConnector.getProject();
-      }).then(function (result) {
+      return ServerConnector.getProject().then(function (result) {
         project = result;
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         $("input[name='column_name']", $(testDiv)).each(function (index, element) {
@@ -130,13 +107,7 @@ describe('ElementExportPanel', function () {
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         var dlb = exportObject.getMiriamTypesDualListbox();
@@ -158,13 +129,7 @@ describe('ElementExportPanel', function () {
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         assert.ok(exportObject.getIncludedCompartmentsDualListbox().available.length > 0);
@@ -183,13 +148,7 @@ describe('ElementExportPanel', function () {
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         var dlb = exportObject.getExcludedCompartmentsDualListbox();
@@ -208,13 +167,7 @@ describe('ElementExportPanel', function () {
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         $("input[name='ALL']", $(testDiv)).each(function (index, element) {
@@ -235,13 +188,7 @@ describe('ElementExportPanel', function () {
       var project;
       return ServerConnector.getProject().then(function (result) {
         project = result;
-        return ServerConnector.getConfiguration();
-      }).then(function (configuration) {
-        exportObject = new ElementExportPanel({
-          element: testDiv,
-          project: project,
-          configuration: configuration
-        });
+        exportObject = createExportPanel(project);
         return exportObject.init();
       }).then(function () {
         return exportObject.createResponseString();
@@ -256,13 +203,7 @@ describe('ElementExportPanel', function () {
     var project;
     return ServerConnector.getProject().then(function (result) {
       project = result;
-      return ServerConnector.getConfiguration();
-    }).then(function (configuration) {
-      exportObject = new ElementExportPanel({
-        element: testDiv,
-        project: project,
-        configuration: configuration
-      });
+      exportObject = createExportPanel(project);
       return exportObject.init();
     }).then(function () {
       $("input[name='ALL']", $(testDiv)).each(function (index, element) {
@@ -275,11 +216,7 @@ describe('ElementExportPanel', function () {
 
   describe('createResponseRow', function () {
     it('description with new line', function () {
-      var exportObject = new ElementExportPanel({
-        element: testDiv,
-        project: helper.createProject(),
-        configuration: helper.getConfiguration()
-      });
+      var exportObject = createExportPanel(helper.createProject());
       var alias = helper.createAlias(exportObject.getProject().getModels()[0]);
       var desc = "test\ntest2\n";
       alias.setDescription(desc);
@@ -289,11 +226,7 @@ describe('ElementExportPanel', function () {
     });
     it('complex name', function () {
       var complexName = "Complex name2";
-      var exportObject = new ElementExportPanel({
-        element: testDiv,
-        project: helper.createProject(),
-        configuration: helper.getConfiguration()
-      });
+      var exportObject = createExportPanel(helper.createProject());
       var alias = helper.createAlias(exportObject.getProject().getModels()[0]);
       var complex = helper.createAlias(exportObject.getProject().getModels()[0]);
       complex.setName(complexName);
@@ -304,11 +237,7 @@ describe('ElementExportPanel', function () {
     });
     it('compartment name', function () {
       var compartmentName = "Compartment name2";
-      var exportObject = new ElementExportPanel({
-        element: testDiv,
-        project: helper.createProject(),
-        configuration: helper.getConfiguration()
-      });
+      var exportObject = createExportPanel(helper.createProject());
       var alias = helper.createAlias(exportObject.getProject().getModels()[0]);
       var compartment = helper.createAlias(exportObject.getProject().getModels()[0]);
       compartment.setName(compartmentName);
@@ -318,11 +247,7 @@ describe('ElementExportPanel', function () {
       });
     });
     it('column with function manipulating data', function () {
-      var exportObject = new ElementExportPanel({
-        element: testDiv,
-        project: helper.createProject(),
-        configuration: helper.getConfiguration()
-      });
+      var exportObject = createExportPanel(helper.createProject());
       var alias = helper.createAlias();
       return exportObject.createResponseRow(alias, [{
         "columnName": "id",