diff --git a/package.json b/package.json
index 56501266b..fee512c7f 100644
--- a/package.json
+++ b/package.json
@@ -173,6 +173,7 @@
"uuid": "3.2.1",
"vhost": "3.0.2",
"vue": "^2.5.13",
+ "vue-js-modal": "^1.3.9",
"vue-loader": "^14.1.1",
"vue-router": "^3.0.1",
"vue-template-compiler": "^2.5.13",
diff --git a/src/web/app/common/-tags/signin.tag b/src/web/app/common/-tags/signin.tag
deleted file mode 100644
index 89213d1f7..000000000
--- a/src/web/app/common/-tags/signin.tag
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
-
diff --git a/src/web/app/common/-tags/signup.tag b/src/web/app/common/-tags/signup.tag
deleted file mode 100644
index 99be10609..000000000
--- a/src/web/app/common/-tags/signup.tag
+++ /dev/null
@@ -1,307 +0,0 @@
-
-
-
-
-
diff --git a/src/web/app/common/views/components/index.ts b/src/web/app/common/views/components/index.ts
new file mode 100644
index 000000000..b1c5df819
--- /dev/null
+++ b/src/web/app/common/views/components/index.ts
@@ -0,0 +1,7 @@
+import Vue from 'vue';
+
+import signin from './signin.vue';
+import signup from './signup.vue';
+
+Vue.component('mk-signin', signin);
+Vue.component('mk-signup', signup);
diff --git a/src/web/app/common/tags/poll.vue b/src/web/app/common/views/components/poll.vue
similarity index 100%
rename from src/web/app/common/tags/poll.vue
rename to src/web/app/common/views/components/poll.vue
diff --git a/src/web/app/common/tags/reaction-icon.vue b/src/web/app/common/views/components/reaction-icon.vue
similarity index 100%
rename from src/web/app/common/tags/reaction-icon.vue
rename to src/web/app/common/views/components/reaction-icon.vue
diff --git a/src/web/app/common/tags/reaction-picker.vue b/src/web/app/common/views/components/reaction-picker.vue
similarity index 100%
rename from src/web/app/common/tags/reaction-picker.vue
rename to src/web/app/common/views/components/reaction-picker.vue
diff --git a/src/web/app/common/tags/reactions-viewer.vue b/src/web/app/common/views/components/reactions-viewer.vue
similarity index 100%
rename from src/web/app/common/tags/reactions-viewer.vue
rename to src/web/app/common/views/components/reactions-viewer.vue
diff --git a/src/web/app/common/views/components/signin.vue b/src/web/app/common/views/components/signin.vue
new file mode 100644
index 000000000..5ffc518b3
--- /dev/null
+++ b/src/web/app/common/views/components/signin.vue
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
diff --git a/src/web/app/common/views/components/signup.vue b/src/web/app/common/views/components/signup.vue
new file mode 100644
index 000000000..1734f7731
--- /dev/null
+++ b/src/web/app/common/views/components/signup.vue
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/web/app/common/tags/stream-indicator.vue b/src/web/app/common/views/components/stream-indicator.vue
similarity index 100%
rename from src/web/app/common/tags/stream-indicator.vue
rename to src/web/app/common/views/components/stream-indicator.vue
diff --git a/src/web/app/common/tags/time.vue b/src/web/app/common/views/components/time.vue
similarity index 100%
rename from src/web/app/common/tags/time.vue
rename to src/web/app/common/views/components/time.vue
diff --git a/src/web/app/common/tags/url-preview.vue b/src/web/app/common/views/components/url-preview.vue
similarity index 100%
rename from src/web/app/common/tags/url-preview.vue
rename to src/web/app/common/views/components/url-preview.vue
diff --git a/src/web/app/common/tags/url.vue b/src/web/app/common/views/components/url.vue
similarity index 100%
rename from src/web/app/common/tags/url.vue
rename to src/web/app/common/views/components/url.vue
diff --git a/src/web/app/desktop/views/pages/welcome.vue b/src/web/app/desktop/views/pages/welcome.vue
index c0e1c0bd4..68b5f4cc9 100644
--- a/src/web/app/desktop/views/pages/welcome.vue
+++ b/src/web/app/desktop/views/pages/welcome.vue
@@ -17,105 +17,113 @@
{ _COPYRIGHT_ }
+
+
+
-
-
-
diff --git a/src/web/app/init.ts b/src/web/app/init.ts
index 796a96694..20ea1df8b 100644
--- a/src/web/app/init.ts
+++ b/src/web/app/init.ts
@@ -9,8 +9,10 @@ declare const _HOST_: string;
import Vue from 'vue';
import VueRouter from 'vue-router';
+import VModal from 'vue-js-modal';
Vue.use(VueRouter);
+Vue.use(VModal);
import App from './app.vue';