diff --git a/packages/person-select/assets/index.html b/packages/person-select/assets/index.html
index 07aa88180f84e0c788936e2ffae45b576d6b3b69..4db26ed300d1c36a096f7aef6e24750d1e1a0774 100644
--- a/packages/person-select/assets/index.html
+++ b/packages/person-select/assets/index.html
@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="UTF-8">
-    <script type="module" id="vpu-person-select-src" src="vpu-person-select.js"></script>
+    <script type="module" id="vpu-person-select-src" src="vpu-person-select-demo.js"></script>
 </head>
 
 <body>
diff --git a/packages/person-select/karma.conf.js b/packages/person-select/karma.conf.js
index 3a47e54d4e340a9acd7dfbec25c557aa82daa553..4b99e08adee238067dc7df307582333977129c4f 100644
--- a/packages/person-select/karma.conf.js
+++ b/packages/person-select/karma.conf.js
@@ -7,7 +7,7 @@ module.exports = function(config) {
     basePath: 'dist',
     frameworks: ['mocha', 'chai'],
     files: [
-      {pattern: './' + pkg.name + '.js', included: true, watched: true, served: true, type: 'module'},
+      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
       {pattern: './**/*', included: false, watched: true, served: true},
     ],
     autoWatch: true,
diff --git a/packages/person-select/package.json b/packages/person-select/package.json
index d5053d5f975ec0832abec7ae0ce666072f8056a3..a3673add1779797f326d0ebe65ef498d6add872b 100644
--- a/packages/person-select/package.json
+++ b/packages/person-select/package.json
@@ -1,7 +1,7 @@
 {
   "name": "vpu-person-select",
   "version": "1.0.0",
-  "main": "src/index.js",
+  "main": "src/vpu-person-select.js",
   "devDependencies": {
     "chai": "^4.2.0",
     "i18next-scanner": "^2.10.2",
@@ -22,6 +22,7 @@
     "rollup-plugin-serve": "^1.0.1",
     "rollup-plugin-terser": "^5.1.1",
     "rollup-plugin-url": "^2.2.2",
+    "rollup-plugin-delete": "^1.1.0",
     "vpu-auth": "file:./vendor/auth",
     "vpu-common": "file:./vendor/common"
   },
diff --git a/packages/person-select/rollup.config.js b/packages/person-select/rollup.config.js
index 9a2dcb51510396d1ef61efd8288f4d6007bcfad8..a5adb0688db82e07945fac2985954085798b121b 100644
--- a/packages/person-select/rollup.config.js
+++ b/packages/person-select/rollup.config.js
@@ -8,19 +8,25 @@ import serve from 'rollup-plugin-serve';
 import multiEntry from 'rollup-plugin-multi-entry';
 import url from "rollup-plugin-url"
 import consts from 'rollup-plugin-consts';
+import del from 'rollup-plugin-delete';
 
-const pkg = require('./package.json');
 const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : 'local';
 console.log("build: " + build);
 
 export default {
-    input: (build != 'test') ? 'src/demo.js' : 'test/**/*.js',
+    input: (build != 'test') ? ['src/vpu-person-select.js', 'src/vpu-person-select-demo.js'] : 'test/**/*.js',
     output: {
-        file: 'dist/' + pkg.name + '.js',
-        format: 'esm'
+        dir: 'dist',
+        entryFileNames: '[name].js',
+        chunkFileNames: 'shared/[name].[hash].[format].js',
+        format: 'esm',
+        sourcemap: true
     },
     plugins: [
-        multiEntry(),
+        del({
+            targets: 'dist/*'
+        }),
+        (build == 'test') ? multiEntry() : false,
         consts({
             environment: build,
         }),
diff --git a/packages/person-select/src/demo.js b/packages/person-select/src/demo.js
index 46db4c0607d4f1f8aae1a4bafeaa44285c7af076..57828ac3050fd03bc51d80027bf281efa3404915 100644
--- a/packages/person-select/src/demo.js
+++ b/packages/person-select/src/demo.js
@@ -1,2 +1 @@
-import 'vpu-auth';
-import './person-select-demo.js';
+import './vpu-person-select-demo.js';
diff --git a/packages/person-select/src/index.js b/packages/person-select/src/index.js
deleted file mode 100644
index e1cff7b42239b1337b7a4b649d314c1a0552f6d0..0000000000000000000000000000000000000000
--- a/packages/person-select/src/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import 'vpu-auth';
-import './person-select.js';
diff --git a/packages/person-select/src/person-select-demo.js b/packages/person-select/src/vpu-person-select-demo.js
similarity index 97%
rename from packages/person-select/src/person-select-demo.js
rename to packages/person-select/src/vpu-person-select-demo.js
index b7311b4e04b0f5566c2621434bbf2f8cf3fcab23..8b9fcb7ff308de479b0e2209ed5cd8ee7696f884 100644
--- a/packages/person-select/src/person-select-demo.js
+++ b/packages/person-select/src/vpu-person-select-demo.js
@@ -1,6 +1,7 @@
+import 'vpu-auth';
 import {i18n} from './i18n.js';
 import {css, html, LitElement} from 'lit-element';
-import './person-select.js';
+import './vpu-person-select.js';
 import * as commonUtils from 'vpu-common/utils';
 import bulmaCSSPath from "bulma/css/bulma.min.css";
 
diff --git a/packages/person-select/src/person-select.js b/packages/person-select/src/vpu-person-select.js
similarity index 100%
rename from packages/person-select/src/person-select.js
rename to packages/person-select/src/vpu-person-select.js
diff --git a/packages/person-select/test/unit.js b/packages/person-select/test/unit.js
index e396c5eae01d2f2243ac733e074d4b926016d9f0..d09cf476240759dda56bb8c8d765a077716922b8 100644
--- a/packages/person-select/test/unit.js
+++ b/packages/person-select/test/unit.js
@@ -1,5 +1,5 @@
-import '../src/person-select';
-import '../src/demo';
+import '../src/vpu-person-select.js';
+import '../src/demo.js';
 
 describe('vpu-person-select basics', () => {
   let node;