diff --git a/package.json b/package.json
index 807b7759c7418539b1702214e8017096def58f4e..e07200be56549d03b99c8892b7fcd8c5778bca92 100644
--- a/package.json
+++ b/package.json
@@ -18,16 +18,18 @@
   "license": "ISC",
   "dependencies": {
     "ajv": "^5.5.0",
-    "email-validator": "^1.1.1",
-    "babel-core": "^6.26.0",
     "babel-cli": "^6.26.0",
+    "babel-core": "^6.26.0",
     "babel-loader": "^7.1.2",
     "babel-preset-env": "^1.6.1",
     "compression-webpack-plugin": "^1.0.1",
+    "email-validator": "^1.1.1",
     "eslint": "^4.10.0",
     "eslint-config-airbnb-base": "^12.1.0",
     "eslint-plugin-import": "^2.8.0",
     "mithril": "^1.1.5",
+    "polythene-css": "^1.0.0",
+    "polythene-mithril": "^1.0.0",
     "uglifyjs-webpack-plugin": "^1.0.1",
     "webpack": "^3.8.1",
     "webpack-dev-server": "^2.9.3"
diff --git a/src/components/Button.js b/src/components/Button.js
new file mode 100644
index 0000000000000000000000000000000000000000..8ba66db3390b58d6c0b730b919ee51638cd222ea
--- /dev/null
+++ b/src/components/Button.js
@@ -0,0 +1,9 @@
+import m from "mithril";
+import { Button } from "polythene-mithril";
+import "polythene-css"
+
+const ButtonComponent = () => {
+    return Button;
+}
+
+export default ButtonComponent;
\ No newline at end of file
diff --git a/src/views/studydocs/studydocList.js b/src/views/studydocs/studydocList.js
index 2b05d290ac247a08f9895618ef7bd1ad309db318..19294621f2485147e48a86f1be29d230bb6e2a7d 100644
--- a/src/views/studydocs/studydocList.js
+++ b/src/views/studydocs/studydocList.js
@@ -3,7 +3,7 @@ import * as studydocs from '../../models/studydocs';
 import { apiUrl } from '../../models/config';
 import { isLoggedIn } from '../../models/auth';
 import { Error401 } from '../errors';
-
+import Button from '../../components/Button';
 
 const tableHeadings = [
   'title', 'lecture', 'professor', 'semester', 'author', 'download',
@@ -38,7 +38,7 @@ export default class studydocList {
         },
       }, [
         m('input', { type: 'text', oninput: m.withAttr('value', (value) => { this.search = value; }) }, ''),
-        m('button', { type: 'submit' }, 'Search'),
+        m(Button, { label: 'Search', type: 'submit' }),
       ]),
       m('button', { onclick: () => m.route.set('/studydocuments/new') }, 'add new'),
       m('table', [