diff --git a/packages/common/test/unit.js b/packages/common/test/unit.js
index cb144a313a8e3629d6a218331f438d6444dc7b69..d7efba2ebfa3a61b8880852886d379c2c6d17ae7 100644
--- a/packages/common/test/unit.js
+++ b/packages/common/test/unit.js
@@ -1,4 +1,4 @@
-import utils from '../utils';
+import * as utils from '../utils';
 
 describe('utils', () => {
     it('base64EncodeUnicode', () => {
diff --git a/packages/common/utils.js b/packages/common/utils.js
index 28fd764119d3a5790359b40aa428660b16e479a6..cc3b60dc631f340c3e2e61f385a2d3d4e7f513d4 100644
--- a/packages/common/utils.js
+++ b/packages/common/utils.js
@@ -1,130 +1,128 @@
 import env from './env.js';
 
-export default {
-    /**
-     * Parses a link header
-     *
-     * The node module parse-link-header didn't work, so https://gist.github.com/niallo/3109252 became handy
-     *
-     * @param header
-     */
-    parseLinkHeader: (header) => {
-        if (header.length === 0) {
-            throw new Error("input must not be of zero length");
-        }
+/**
+ * Parses a link header
+ *
+ * The node module parse-link-header didn't work, so https://gist.github.com/niallo/3109252 became handy
+ *
+ * @param header
+ */
+export const parseLinkHeader = (header) => {
+    if (header.length === 0) {
+        throw new Error("input must not be of zero length");
+    }
 
-        // Split parts by comma
-        const parts = header.split(',');
-        const links = {};
+    // Split parts by comma
+    const parts = header.split(',');
+    const links = {};
 
-        // Parse each part into a named link
-        for(let i=0; i<parts.length; i++) {
-            const section = parts[i].split(';');
-            if (section.length !== 2) {
-                throw new Error("section could not be split on ';'");
-            }
-            const url = section[0].replace(/<(.*)>/, '$1').trim();
-            const name = section[1].replace(/rel="(.*)"/, '$1').trim();
-            links[name] = url;
+    // Parse each part into a named link
+    for(let i=0; i<parts.length; i++) {
+        const section = parts[i].split(';');
+        if (section.length !== 2) {
+            throw new Error("section could not be split on ';'");
         }
+        const url = section[0].replace(/<(.*)>/, '$1').trim();
+        const name = section[1].replace(/rel="(.*)"/, '$1').trim();
+        links[name] = url;
+    }
 
-        return links;
-    },
+    return links;
+}
 
-    /**
-     * Reads a setting
-     *
-     * @param key
-     * @returns {*}
-     */
-    setting: (key) => {
-        return env[key];
-    },
+/**
+ * Reads a setting
+ *
+ * @param key
+ * @returns {*}
+ */
+export const setting = (key) => {
+    return env[key];
+}
 
-    getAPiUrl: (path = "", withPrefix = true) => {
-        return env.apiBaseUrl + (withPrefix ? env.apiUrlPrefix : "") + path;
-    },
+export const getAPiUrl = (path = "", withPrefix = true) => {
+    return env.apiBaseUrl + (withPrefix ? env.apiUrlPrefix : "") + path;
+}
 
-    /**
-     * Parses the base url from an url
-     *
-     * @param url
-     * @returns {string}
-     */
-    parseBaseUrl: (url) => {
-        const pathArray = url.split('/');
-        const protocol = pathArray[0];
-        const host = pathArray[2];
-        return protocol + '//' + host;
-    },
+/**
+ * Parses the base url from an url
+ *
+ * @param url
+ * @returns {string}
+ */
+export const parseBaseUrl = (url) => {
+    const pathArray = url.split('/');
+    const protocol = pathArray[0];
+    const host = pathArray[2];
+    return protocol + '//' + host;
+}
 
-    /**
-     * Converts a string list to a data array for Select2
-     *
-     * @param list
-     * @returns {Array}
-     */
-    stringListToSelect2DataArray: (list) => {
-        let data = [];
-        list.forEach((item) => {data.push({id: item, text: item})});
-        return data;
-    },
+/**
+ * Converts a string list to a data array for Select2
+ *
+ * @param list
+ * @returns {Array}
+ */
+export const stringListToSelect2DataArray = (list) => {
+    let data = [];
+    list.forEach((item) => {data.push({id: item, text: item})});
+    return data;
+}
 
-    /**
-     * Does generic Base64 Encoding with support for 16-bit encoded strings
-     * @see https://www.base64encoder.io/javascript/
-     *
-     * @param str
-     * @returns {string}
-     */
-    base64EncodeUnicode: (str) => {
-        // First we escape the string using encodeURIComponent to get the UTF-8 encoding of the characters,
-        // then we convert the percent encodings into raw bytes, and finally feed it to btoa() function.
-        const utf8Bytes = encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
-            return String.fromCharCode('0x' + p1);
-        });
+/**
+ * Does generic Base64 Encoding with support for 16-bit encoded strings
+ * @see https://www.base64encoder.io/javascript/
+ *
+ * @param str
+ * @returns {string}
+ */
+export const base64EncodeUnicode = (str) => {
+    // First we escape the string using encodeURIComponent to get the UTF-8 encoding of the characters,
+    // then we convert the percent encodings into raw bytes, and finally feed it to btoa() function.
+    const utf8Bytes = encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
+        return String.fromCharCode('0x' + p1);
+    });
 
-        return btoa(utf8Bytes);
-    },
+    return btoa(utf8Bytes);
+}
 
-    /**
-     * Like customElements.define() but tries to display an error in case the browser doesn't
-     * support everything we need.
-     *
-     * Returns false in case define failed, true otherwise.
-     *
-     * @returns {boolean}
-     */
-    defineCustomElement: (name, constructor, options) => {
-        // Checks taken from https://github.com/webcomponents/webcomponentsjs/blob/master/webcomponents-loader.js
-        if (!('attachShadow' in Element.prototype && 'getRootNode' in Element.prototype && window.customElements)) {
-            var elements = document.getElementsByTagName(name);
-            for(var i=0; i < elements.length; i++) {
-                elements[i].innerHTML = "<span style='border: 1px solid red; font-size: 0.8em; "
-                    + "opacity: 0.5; padding: 0.2em;'>☹ Your browser is not supported ☹</span>";
-            }
-           return false;
-        }
-        customElements.define(name, constructor, options);
-        return true;
-    },
-
-    /**
-     * Creates a random id
-     *
-     * taken from: https://stackoverflow.com/a/1349426/1581487
-     *
-     * @param length
-     * @returns {string}
-     */
-    makeId: (length) => {
-        var result           = '';
-        var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
-        var charactersLength = characters.length;
-        for ( var i = 0; i < length; i++ ) {
-            result += characters.charAt(Math.floor(Math.random() * charactersLength));
+/**
+ * Like customElements.define() but tries to display an error in case the browser doesn't
+ * support everything we need.
+ *
+ * Returns false in case define failed, true otherwise.
+ *
+ * @returns {boolean}
+ */
+export const defineCustomElement = (name, constructor, options) => {
+    // Checks taken from https://github.com/webcomponents/webcomponentsjs/blob/master/webcomponents-loader.js
+    if (!('attachShadow' in Element.prototype && 'getRootNode' in Element.prototype && window.customElements)) {
+        var elements = document.getElementsByTagName(name);
+        for(var i=0; i < elements.length; i++) {
+            elements[i].innerHTML = "<span style='border: 1px solid red; font-size: 0.8em; "
+                + "opacity: 0.5; padding: 0.2em;'>☹ Your browser is not supported ☹</span>";
         }
+       return false;
+    }
+    customElements.define(name, constructor, options);
+    return true;
+}
 
-        return result;
+/**
+ * Creates a random id
+ *
+ * taken from: https://stackoverflow.com/a/1349426/1581487
+ *
+ * @param length
+ * @returns {string}
+ */
+export const makeId = (length) => {
+    var result           = '';
+    var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+    var charactersLength = characters.length;
+    for ( var i = 0; i < length; i++ ) {
+        result += characters.charAt(Math.floor(Math.random() * charactersLength));
     }
-};
+
+    return result;
+}