diff --git a/Makefile b/Makefile
index 96afca0..388133a 100644
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,18 @@ clean:
bindata.go: client client/*
rm -fr ./clientpack
- php ./clientpack.php
+ cp -r ./client ./clientpack
+ sed -i -re 's~//IIFEMODE:~~g' clientpack/dcwebui.js
+ uglifyjs clientpack/dcwebui.js -o clientpack/dcwebui.min.js -c -m
+ lessc --clean-css clientpack/dcwebui.css clientpack/dcwebui.min.css
+ #php ./clientpack.php
+ ./minipack clientpack/index.htm css dcwebui.css clientpack/dcwebui.min.css
+ ./minipack clientpack/index.htm js dcwebui.js clientpack/dcwebui.min.js
+ ./minipack clientpack/index.htm js socket.io-1.7.2.js clientpack/socket.io-1.7.2.js
+ html-minifier --collapse-whitespace -o clientpack/index.min.htm clientpack/index.htm
+ mv clientpack/index.min.htm clientpack/index.htm
+ rm ./clientpack/*.js
+ rm ./clientpack/*.css
go-bindata -nomemcopy -prefix clientpack clientpack
$(BINNAME).exe: bindata.go *.go
diff --git a/clientpack.php b/clientpack.php
deleted file mode 100755
index 4fb9379..0000000
--- a/clientpack.php
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/php
-]+dcwebui.css[^>]*>~', function() { return ''; }, $html_content);
-
-// Embed JS into HTML file
-
-$html_content = preg_replace_callback('~'; }, $html_content);
-
-// Embed socketio into HTML file
-
-define('SIO_NAME', 'socket.io-1.7.2.js');
-$html_content = preg_replace_callback('~'; }, $html_content);
-
-// Minify the combined file
-
-file_put_contents('clientpack/index.htm', $html_content);
-
-`html-minifier --collapse-whitespace -o clientpack/index.min.htm clientpack/index.htm`;
-
-// Clean up files
-
-unlink('clientpack/index.htm');
-unlink('clientpack/dcwebui.js');
-unlink('clientpack/dcwebui.min.js');
-unlink('clientpack/dcwebui.css');
-unlink('clientpack/dcwebui.min.css');
-unlink('clientpack/'.SIO_NAME);
-rename('clientpack/index.min.htm', 'clientpack/index.htm');
diff --git a/minipack b/minipack
new file mode 100755
index 0000000..5ffd65e
--- /dev/null
+++ b/minipack
@@ -0,0 +1,23 @@
+#!/usr/bin/php
+ ['script', 'script'],
+ 'css' => ['link', 'style'],
+ ];
+
+ $html_content = preg_replace_callback(
+ '~<'. $modes[$mode][0] .'[^>]+'.$find.'[^>]*>~',
+ function() use ($modes, $mode, $sourcefile) {
+ return '<'. $modes[$mode][1] . '>'.file_get_contents($sourcefile).''. $modes[$mode][1] .'>';
+ },
+ $html_content
+ );
+
+ file_put_contents($filename, $html_content);
+}
+
+embed($_SERVER['argv'][1], $_SERVER['argv'][2], $_SERVER['argv'][3], $_SERVER['argv'][4]);