diff --git a/accountitemdelegate.cpp b/accountitemdelegate.cpp
index ce8d965ac7d7a7e765953159c8e44f09c518f934..b5d2827128ba062333f920892653f7f83f42dd40 100644
--- a/accountitemdelegate.cpp
+++ b/accountitemdelegate.cpp
@@ -25,6 +25,7 @@
 #include "utils.h"
 #include "accountlistmodel.h"
 #include "ringthemeutils.h"
+#include "lrcinstance.h"
 
 #undef REGISTERED
 
@@ -62,6 +63,20 @@ AccountItemDelegate::paint(QPainter* painter,
 
     QRect &rect = opt.rect;
 
+    QFont font(painter->font());
+    font.setPointSize(fontSize_);
+    QPen pen(painter->pen());
+
+    // is it the add account row?
+    if (index.row() == LRCInstance::accountModel().getAccountList().size()) {
+        pen.setColor(RingTheme::lightBlack_);
+        painter->setPen(pen);
+        painter->setFont(font);
+        QFontMetrics fontMetrics(font);
+        painter->drawText(rect, Qt::AlignVCenter | Qt::AlignHCenter, tr("Add Account") + "+");
+        return;
+    }
+
     // Avatar drawing
     opt.decorationSize = QSize(avatarSize_, avatarSize_);
     opt.decorationPosition = QStyleOptionViewItem::Left;
@@ -72,8 +87,6 @@ AccountItemDelegate::paint(QPainter* painter,
         QPixmap::fromImage(index.data(AccountListModel::Role::Picture).value<QImage>())
         .scaled(avatarSize_, avatarSize_, Qt::KeepAspectRatio, Qt::SmoothTransformation));
 
-    QFont font(painter->font());
-
     // Presence indicator
     QPainterPath outerCircle, innerCircle;
     QPointF center(rectAvatar.right() - avatarSize_ / 6, (rectAvatar.bottom() - avatarSize_ / 6) + 1);
@@ -87,9 +100,6 @@ AccountItemDelegate::paint(QPainter* painter,
         painter->fillPath(innerCircle, RingTheme::presenceGreen_);
     }
 
-    font.setPointSize(fontSize_);
-    QPen pen(painter->pen());
-
     painter->setPen(pen);
 
     QRect rectTexts(dx_ + rect.left() + dx_ + avatarSize_,
diff --git a/accountlistmodel.cpp b/accountlistmodel.cpp
index a418e7b20ef539754e2ff3c1a178d565fecf69d9..00abb15c478082b180ace40b5bf0d94695dbeb8a 100644
--- a/accountlistmodel.cpp
+++ b/accountlistmodel.cpp
@@ -37,7 +37,7 @@ AccountListModel::AccountListModel(QObject *parent)
 int AccountListModel::rowCount(const QModelIndex &parent) const
 {
     if (!parent.isValid()) {
-        return LRCInstance::accountModel().getAccountList().size(); // count
+        return LRCInstance::accountModel().getAccountList().size() + 1; // count
     }
     return 0; // A valid QModelIndex returns 0 as no entry has sub-elements
 }
diff --git a/callwidget.cpp b/callwidget.cpp
index 493de5a37bfd4fd62bbcf4c901725c22e8b63dd2..d1b6017d70eaa1fbb868d56a2baf8732794bc10e 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -128,6 +128,11 @@ CallWidget::CallWidget(QWidget* parent) :
     connect(ui->currentAccountComboBox, &CurrentAccountComboBox::settingsButtonClicked,
             this, &CallWidget::settingsButtonClicked);
 
+    connect(ui->currentAccountComboBox, &CurrentAccountComboBox::newAccountClicked,
+        [this]() {
+            emit NavigationRequested(ScreenEnum::WizardScreen);
+        });
+
     connect(ui->videoWidget, &VideoView::setChatVisibility,
         [this](bool visible) {
             if (visible) {
@@ -223,12 +228,17 @@ CallWidget::navigated(bool to)
     if (to) {
         updateSmartList();
         connectConversationModel();
+        ui->currentAccountComboBox->accountListUpdate();
     } else {
         QObject::disconnect(smartlistSelectionConnection_);
         smartListModel_.reset(nullptr);
     }
 }
 
+void CallWidget::updateCustomUI()
+{
+}
+
 int
 CallWidget::getLeftPanelWidth()
 {
@@ -592,8 +602,12 @@ void CallWidget::slotCustomContextMenuRequested(const QPoint& pos)
 
 void CallWidget::slotAccountChanged(int index)
 {
-    auto accountList = LRCInstance::accountModel().getAccountList();
-    setSelectedAccount(accountList.at(index));
+    try {
+        auto accountList = LRCInstance::accountModel().getAccountList();
+        setSelectedAccount(accountList.at(index));
+    } catch (...) {
+        qWarning() << "exception changing account";
+    }
 }
 
 void CallWidget::slotShowCallView(const std::string& accountId,
@@ -914,12 +928,6 @@ CallWidget::on_sendContactRequestButton_clicked()
     LRCInstance::getCurrentConversationModel()->makePermanent(selectedConvUid());
 }
 
-void
-CallWidget::on_pendingCRBackButton_clicked()
-{
-    ui->stackedWidget->setCurrentWidget(ui->welcomePage);
-}
-
 void
 CallWidget::on_btnAudioCall_clicked()
 {
diff --git a/callwidget.h b/callwidget.h
index 03f23ce1974f9141ddf5117ef8d1d9fec63f4d98..e955dad62bedb0bd1ed6b3ed16d1e97621fab031 100644
--- a/callwidget.h
+++ b/callwidget.h
@@ -68,6 +68,7 @@ public:
 
     // NavWidget
     virtual void navigated(bool to);
+    virtual void updateCustomUI();
 
 public slots:
     void on_ringContactLineEdit_returnPressed();
@@ -98,7 +99,6 @@ private slots:
     void on_smartList_clicked(const QModelIndex &index);
     void on_qrButton_toggled(bool checked);
     void on_shareButton_clicked();
-    void on_pendingCRBackButton_clicked();
     void on_btnAudioCall_clicked();
     void on_btnVideoCall_clicked();
 
diff --git a/currentaccountcombobox.cpp b/currentaccountcombobox.cpp
index 6d688607056e4fe39574b08a4d611236c21818a8..350fdab8e0e64ecbd144ba8582d7174dd0f8314f 100644
--- a/currentaccountcombobox.cpp
+++ b/currentaccountcombobox.cpp
@@ -39,7 +39,7 @@ CurrentAccountComboBox::CurrentAccountComboBox(QWidget* parent)
     gearLabel_.setMouseTracking(true);
 
     accountListUpdate();
-    accountItemDelegate_ = new AccountItemDelegate();
+    accountItemDelegate_ = new AccountItemDelegate(this);
     this->setItemDelegate(accountItemDelegate_);
 
     // combobox index changed and so must the avatar
@@ -131,6 +131,10 @@ CurrentAccountComboBox::paintEvent(QPaintEvent* e)
         painter.setPen(Qt::lightGray);
         painter.drawText(comboBoxRect, (Qt::AlignBottom | Qt::AlignLeft), secondaryAccountID);
     }
+
+    if (QWidget* popupWidget = this->findChild<QFrame*>()) {
+        popupWidget->setStyleSheet("QFrame{border: 0px;border-bottom: 1px solid #f0f0f0;}");
+    }
 }
 
 void CurrentAccountComboBox::resizeEvent(QResizeEvent* event)
@@ -160,8 +164,13 @@ CurrentAccountComboBox::importLabelPhoto(int index)
 void
 CurrentAccountComboBox::setCurrentIndex(int index)
 {
-    importLabelPhoto(index);
-    QComboBox::setCurrentIndex(index);
+    auto accountListSize = LRCInstance::accountModel().getAccountList().size();
+    if (index == accountListSize) {
+        emit newAccountClicked();
+    } else if (index < accountListSize) {
+        importLabelPhoto(index);
+        QComboBox::setCurrentIndex(index);
+    }
 }
 
 void
@@ -176,9 +185,7 @@ void
 CurrentAccountComboBox::mousePressEvent(QMouseEvent* mouseEvent)
 {
     if (!gearLabel_.frameGeometry().contains(mouseEvent->localPos().toPoint())) {
-        if (count() > 1) {
-            QComboBox::mousePressEvent(mouseEvent);
-        }
+        QComboBox::mousePressEvent(mouseEvent);
     } else {
         emit settingsButtonClicked();
     }
diff --git a/currentaccountcombobox.h b/currentaccountcombobox.h
index 93f85965ee0c9b9fb88471f3b847b522080111ba..7ff40496a5b4210b125816c51e4a5bf6149650e3 100644
--- a/currentaccountcombobox.h
+++ b/currentaccountcombobox.h
@@ -40,6 +40,7 @@ public:
 
 signals:
     void settingsButtonClicked();
+    void newAccountClicked();
 
 protected:
     void paintEvent(QPaintEvent* e);
@@ -47,12 +48,12 @@ protected:
     void mousePressEvent(QMouseEvent* mouseEvent);
     void mouseMoveEvent(QMouseEvent* event);
     void leaveEvent(QEvent * event);
+    void showPopup();
+    void hidePopup();
 
 private:
     void importLabelPhoto(int index);
     void setupSettingsButton();
-    void showPopup();
-    void hidePopup();
 
     AccountItemDelegate* accountItemDelegate_;
     std::unique_ptr<AccountListModel> accountListModel_;
diff --git a/images/background-dark.png b/images/background-dark.png
deleted file mode 100644
index 26bfc9a51143eeb1c63ae428db3229f97504a1b8..0000000000000000000000000000000000000000
Binary files a/images/background-dark.png and /dev/null differ
diff --git a/images/background-light.png b/images/background-light.png
deleted file mode 100644
index f1805daf98dcea86199799323720bd141baeb0de..0000000000000000000000000000000000000000
Binary files a/images/background-light.png and /dev/null differ
diff --git a/images/icons/baseline-camera_alt-24px.svg b/images/icons/baseline-camera_alt-24px.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8347964512844eb8c8c9aacafe92823aeba4de0e
--- /dev/null
+++ b/images/icons/baseline-camera_alt-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3.2"/><path d="M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
\ No newline at end of file
diff --git a/images/icons/baseline-close-24px.svg b/images/icons/baseline-close-24px.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dea86781d3ed7f12339a84930570bc4788e89803
--- /dev/null
+++ b/images/icons/baseline-close-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
\ No newline at end of file
diff --git a/images/icons/baseline-done-24px.svg b/images/icons/baseline-done-24px.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8790bcc1ab140f686b6014c532a817d79d69c229
--- /dev/null
+++ b/images/icons/baseline-done-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>
\ No newline at end of file
diff --git a/images/icons/baseline-error_outline-24px.svg b/images/icons/baseline-error_outline-24px.svg
new file mode 100644
index 0000000000000000000000000000000000000000..39062fa75b4a0b165da8dec0c80a8a411d60e14a
--- /dev/null
+++ b/images/icons/baseline-error_outline-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/></svg>
\ No newline at end of file
diff --git a/images/icons/baseline-refresh-24px.svg b/images/icons/baseline-refresh-24px.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f1ad30d2771d751804451e96802f6cf324685386
--- /dev/null
+++ b/images/icons/baseline-refresh-24px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
\ No newline at end of file
diff --git a/images/jami_eclipse_spinner.gif b/images/jami_eclipse_spinner.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c66d3ff5ca07baf9a84785735451c585f6123ab
Binary files /dev/null and b/images/jami_eclipse_spinner.gif differ
diff --git a/images/jami_rolling_spinner.gif b/images/jami_rolling_spinner.gif
new file mode 100644
index 0000000000000000000000000000000000000000..63ff54ade1e44ba428974b7499eff56c38f1db58
Binary files /dev/null and b/images/jami_rolling_spinner.gif differ
diff --git a/images/loading.gif b/images/loading.gif
deleted file mode 100644
index f005cb2755307bd820eb53455f4d1a0d23e7951a..0000000000000000000000000000000000000000
Binary files a/images/loading.gif and /dev/null differ
diff --git a/main.cpp b/main.cpp
index f966bc4785b9776fb2cfa05ac55ba54ea95b70b5..63b5136378abab27b1a1c5c28b9532145e23f491 100644
--- a/main.cpp
+++ b/main.cpp
@@ -104,6 +104,7 @@ int
 main(int argc, char *argv[])
 {
     QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+    QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
 
     QApplication a(argc, argv);
 
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 65ca05533621d752ae9eb3c4c7003fdc11b171a0..b3c69efec994c08b9654aba0ca272ce20cb9ccd2 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -65,6 +65,7 @@ MainWindow::MainWindow(QWidget* parent) :
     QIcon icon(":images/jami.png");
 
     this->setWindowIcon(icon);
+    setWindowTitle(" ");
 
     GlobalSystemTray& sysIcon = GlobalSystemTray::instance();
     sysIcon.setIcon(icon);
@@ -147,6 +148,15 @@ MainWindow::MainWindow(QWidget* parent) :
     }
 
     lastScr_ = startScreen;
+
+    connect(windowHandle(), &QWindow::activeChanged,
+        [this]() {
+            auto screenNumber = qApp->desktop()->screenNumber();
+            QScreen* screen = qApp->screens().at(screenNumber);
+            windowHandle()->setScreen(nullptr);
+            windowHandle()->setScreen(screen);
+        });
+
 }
 
 MainWindow::~MainWindow()
@@ -297,7 +307,6 @@ void
 MainWindow::setWindowSize(ScreenEnum scr, bool firstUse)
 {
     auto screenNumber = qApp->desktop()->screenNumber();
-    QScreen* screen = qApp->screens().at(screenNumber);
     auto accountList = LRCInstance::accountModel().getAccountList();
     if (scr == ScreenEnum::WizardScreen && !accountList.size()) {
         hide();
@@ -315,7 +324,6 @@ MainWindow::setWindowSize(ScreenEnum scr, bool firstUse)
                 qApp->desktop()->screenGeometry(screenNumber)
             )
         );
-        windowHandle()->setScreen(screen);
         if (scr == ScreenEnum::WizardScreen) {
             setWindowFlags(Qt::Dialog);
             setWindowFlags(windowFlags() & (~Qt::WindowContextHelpButtonHint));
@@ -336,8 +344,21 @@ MainWindow::show()
     disconnect(screenChangedConnection_);
     screenChangedConnection_ = connect(windowHandle(), &QWindow::screenChanged,
         [this](QScreen* screen) {
+            Q_UNUSED(screen);
             adjustSize();
             updateGeometry();
             update();
+            // a little delay won't hurt ;)
+            QTimer::singleShot(100, this,
+                [this] {
+                    qobject_cast<NavWidget*>(ui->navStack->currentWidget())->updateCustomUI();
+                });
         });
 }
+
+void
+MainWindow::resizeEvent(QResizeEvent* event)
+{
+    Q_UNUSED(event);
+    qobject_cast<NavWidget*>(ui->navStack->currentWidget())->updateCustomUI();
+}
diff --git a/mainwindow.h b/mainwindow.h
index 95cfb26462932f5e705bafed65bed82cc16ab1f3..36ba031104d0418e925ba83ac05c43eb67b29334 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -59,6 +59,7 @@ public:
 protected:
     bool nativeEvent(const QByteArray& eventType, void* message, long* result);
     void closeEvent(QCloseEvent* event);
+    void resizeEvent(QResizeEvent *event);
 
 public slots:
     void onRingEvent(const QString& uri);
diff --git a/mainwindow.ui b/mainwindow.ui
index cdd7fe94af3681bbad5d7126031e68416a0b6620..c9989777144e7783c295f06594a331c2f9847a25 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -463,7 +463,7 @@
     </property>
     <item>
      <widget class="QStackedWidget" name="navStack">
-      <widget class="WizardWidget" name="wizardwidget"/>
+      <widget class="NewWizardWidget" name="wizardwidget"/>
       <widget class="CallWidget" name="callwidget"/>
       <widget class="SettingsWidget" name="settingswidget">
        <property name="sizePolicy">
@@ -487,15 +487,15 @@
    <container>1</container>
   </customwidget>
   <customwidget>
-   <class>WizardWidget</class>
+   <class>SettingsWidget</class>
    <extends>QWidget</extends>
-   <header>wizardwidget.h</header>
-   <container>1</container>
+   <header>settingswidget.h</header>
   </customwidget>
   <customwidget>
-   <class>SettingsWidget</class>
+   <class>NewWizardWidget</class>
    <extends>QWidget</extends>
-   <header>settingswidget.h</header>
+   <header>newwizardwidget.h</header>
+   <container>1</container>
   </customwidget>
  </customwidgets>
  <resources>
diff --git a/navwidget.h b/navwidget.h
index 29fdf93bfd4673848bfeae73e521d596a70d6a91..1f94dc515de70131157f719697ef05c873d6c6af 100644
--- a/navwidget.h
+++ b/navwidget.h
@@ -37,6 +37,7 @@ public:
     ~NavWidget();
 
     virtual void navigated(bool to) = 0;
+    virtual void updateCustomUI() = 0;
 
 signals:
     void NavigationRequested(ScreenEnum screen);
diff --git a/newwizardwidget.cpp b/newwizardwidget.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b9b8a697f6e26c5fbf998043a02b769e7eb62bdb
--- /dev/null
+++ b/newwizardwidget.cpp
@@ -0,0 +1,429 @@
+/**************************************************************************
+* Copyright (C) 2015-2018 by Savoir-faire Linux                           *
+* Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
+* Author: Anthony L�onard <anthony.leonard@savoirfairelinux.com>          *
+* Author: Olivier Soldano <olivier.soldano@savoirfairelinux.com>          *
+* Author: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>          *
+*                                                                         *
+* This program is free software; you can redistribute it and/or modify    *
+* it under the terms of the GNU General Public License as published by    *
+* the Free Software Foundation; either version 3 of the License, or       *
+* (at your option) any later version.                                     *
+*                                                                         *
+* This program is distributed in the hope that it will be useful,         *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
+* GNU General Public License for more details.                            *
+*                                                                         *
+* You should have received a copy of the GNU General Public License       *
+* along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+**************************************************************************/
+
+#include "newwizardwidget.h"
+#include "ui_newwizardwidget.h"
+
+#include <QMovie>
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QBitmap>
+
+#include "accountmodel.h"
+#include "account.h"
+#include "profilemodel.h"
+#include "profile.h"
+#include "namedirectory.h"
+
+#include "utils.h"
+#include "ringthemeutils.h"
+
+const QString DEFAULT_RING_ACCT_ALIAS = QObject::tr("Jami account", "Default alias for new Jami account");
+
+NewWizardWidget::NewWizardWidget(WizardMode wizardMode, AccountInfo* toBeMigrated, QWidget* parent) :
+    NavWidget(parent),
+    ui(new Ui::NewWizardWidget),
+    account_(toBeMigrated),
+    wizardMode_(wizardMode),
+    lookupTimer_(this)
+{
+    ui->setupUi(this);
+
+    QPixmap logo(":/images/logo-jami-standard-coul.png");
+
+    ui->welcomeLogo->setPixmap(logo.scaledToHeight(100, Qt::SmoothTransformation));
+    ui->welcomeLogo->setAlignment(Qt::AlignHCenter);
+
+    ui->fullNameEdit->setText(Utils::GetCurrentUserName());
+
+    creationSpinnerMovie_ = new QMovie(":/images/jami_eclipse_spinner.gif");
+    ui->spinnerLabel->setMovie(creationSpinnerMovie_);
+    creationSpinnerMovie_->start();
+
+    lookupSpinnerMovie_ = new QMovie(":/images/jami_rolling_spinner.gif");
+    lookupSpinnerMovie_->setScaledSize(QSize(30, 30));
+
+    lookupStatusLabel_ = new QLabel(this);
+    lookupStatusLabel_->setMovie(lookupSpinnerMovie_);
+    lookupStatusLabel_->hide();
+
+    registrationStateOk_ = false;
+
+    passwordStatusLabel_ = new QLabel(this);
+
+    statusSuccessPixmap_ = Utils::generateTintedPixmap(":/images/icons/baseline-done-24px.svg", RingTheme::presenceGreen_);
+    statusInvalidPixmap_ = Utils::generateTintedPixmap(":/images/icons/baseline-error_outline-24px.svg", RingTheme::urgentOrange_);
+    statusErrorPixmap_ = Utils::generateTintedPixmap(":/images/icons/baseline-close-24px.svg", RingTheme::red_);
+
+    if (wizardMode_ == MIGRATION) {
+        changePage(ui->createRingAccountPage);
+        ui->usernameEdit->setEnabled(false);
+        ui->usernameEdit->setText(QString::fromStdString(toBeMigrated->profileInfo.alias));
+        ui->previousButton->hide();
+        ui->infoWidget->show();
+        ui->infoLabel->setText(tr("Your account needs to be migrated. Enter your password."));
+    } else {
+        ui->infoWidget->hide();
+        setNavBarVisibility(false);
+    }
+
+    lookupTimer_.setSingleShot(true);
+
+    connect(&lookupTimer_, &QTimer::timeout,
+            this, &NewWizardWidget::timeoutNameLookupTimer);
+
+    connect(ui->backButton, &QPushButton::clicked,
+        [this] {
+            emit NavigationRequested(ScreenEnum::CallScreen);
+        });
+
+    connect(ui->confirmPasswordEdit, &QLineEdit::textChanged,
+        [this] {
+            validateWizardProgression();
+        });
+
+    connect(ui->setAvatarWidget, &PhotoboothWidget::photoTaken,
+            this, &NewWizardWidget::on_photoTaken);
+
+    connect(ui->setAvatarWidget, &PhotoboothWidget::photoReady,
+        [this] {
+            ui->setAvatarWidget->startBooth();
+        });
+
+    ui->containerWidget->setVisible(false);
+}
+
+NewWizardWidget::~NewWizardWidget()
+{
+    delete ui;
+}
+
+void
+NewWizardWidget::updateNameRegistrationUi(NameRegistrationUIState state)
+{
+    switch (state) {
+    case NameRegistrationUIState::BLANK:
+        lookupStatusLabel_->hide();
+        break;
+    case NameRegistrationUIState::INVALID:
+        lookupStatusLabel_->setPixmap(statusInvalidPixmap_);
+        break;
+    case NameRegistrationUIState::TAKEN:
+        lookupStatusLabel_->setPixmap(statusErrorPixmap_);
+        break;
+    case NameRegistrationUIState::FREE:
+        lookupStatusLabel_->setPixmap(statusSuccessPixmap_);
+        break;
+    case NameRegistrationUIState::SEARCHING:
+        lookupStatusLabel_->setMovie(lookupSpinnerMovie_);
+        lookupSpinnerMovie_->stop();
+        lookupSpinnerMovie_->start();
+        lookupStatusLabel_->show();
+        break;
+    }
+}
+
+void
+NewWizardWidget::navigated(bool to)
+{
+    ui->containerWidget->setVisible(to);
+    changePage(ui->welcomePage);
+    Utils::setStackWidget(ui->stackedWidget, ui->welcomePage);
+}
+
+void
+NewWizardWidget::processWizardInformations()
+{
+    if (wizardMode_ == MIGRATION)
+        ui->progressLabel->setText(tr("Migrating your Jami account..."));
+    else if (wizardMode_ == IMPORT)
+        ui->progressLabel->setText(tr("Importing account archive..."));
+    else
+        ui->progressLabel->setText(tr("Generating your Jami account..."));
+
+    if (wizardMode_ != IMPORT) {
+        QString accountAlias = (ui->fullNameEdit->text().isEmpty() ||
+            ui->fullNameEdit->text().isNull()) ? DEFAULT_RING_ACCT_ALIAS : ui->fullNameEdit->text();
+        QString archivePin = (ui->pinEdit->text().isEmpty() || ui->pinEdit->text().isNull()) ? QString() : ui->pinEdit->text();
+
+        changePage(ui->spinnerPage);
+        createRingAccount(accountAlias, ui->passwordEdit->text(), archivePin);
+
+        ui->passwordEdit->clear();
+        ui->confirmPasswordEdit->clear();
+        ui->pinEdit->clear();
+    }
+
+    Utils::CreateStartupLink();
+}
+
+void
+NewWizardWidget::on_photoTaken(QString fileName)
+{
+    ui->setAvatarWidget->stopBooth();
+}
+
+void
+NewWizardWidget::on_existingPushButton_clicked()
+{
+    changePage(ui->linkRingAccountPage);
+}
+
+void
+NewWizardWidget::on_newAccountButton_clicked()
+{
+    wizardMode_ = NEW_ACCOUNT;
+    changePage(ui->createRingAccountPage);
+}
+
+void NewWizardWidget::changePage(QWidget* toPage)
+{
+    if (toPage == ui->spinnerPage) {
+        setNavBarVisibility(false);
+    }
+    Utils::setStackWidget(ui->stackedWidget, toPage);
+    if (toPage == ui->welcomePage) {
+        setNavBarVisibility(false, true);
+        lookupStatusLabel_->hide();
+        passwordStatusLabel_->hide();
+    } else if (toPage == ui->createRingAccountPage) {
+        ui->usernameEdit->clear();
+        ui->passwordEdit->clear();
+        ui->confirmPasswordEdit->clear();
+        ui->signUpCheckbox->setChecked(true);
+        ui->usernameEdit->setEnabled(true);
+        setNavBarVisibility(true);
+        updateCustomUI();
+        registeredNameFoundConnection_ = connect(
+            &LRCInstance::accountModel(), &lrc::api::NewAccountModel::registeredNameFound,
+            this, &NewWizardWidget::slotRegisteredNameFound);
+        validateWizardProgression();
+        ui->setAvatarWidget->startBooth();
+    } else if (toPage == ui->linkRingAccountPage) {
+        setNavBarVisibility(true);
+        lookupStatusLabel_->hide();
+        passwordStatusLabel_->hide();
+    } else if (toPage == ui->spinnerPage) {
+        lookupStatusLabel_->hide();
+        passwordStatusLabel_->hide();
+    }
+}
+
+void
+NewWizardWidget::updateCustomUI()
+{
+    QPoint editUsernamePos = ui->usernameEdit->mapTo(this, ui->usernameEdit->rect().topRight());
+    lookupStatusLabel_->setGeometry(editUsernamePos.x() + 6, editUsernamePos.y() - 1, 30, 30);
+    QPoint editconfpassPos = ui->confirmPasswordEdit->mapTo(this, ui->confirmPasswordEdit->rect().topRight());
+    passwordStatusLabel_->setGeometry(editconfpassPos.x() + 6, editconfpassPos.y() - 1, 30, 30);
+}
+
+void
+NewWizardWidget::setNavBarVisibility(bool nav, bool back)
+{
+    ui->navBarWidget->setVisible(nav);
+    ui->backButton->setVisible(back && LRCInstance::accountModel().getAccountList().size());
+}
+
+void
+NewWizardWidget::on_nextButton_clicked()
+{
+    const QWidget* curWidget = ui->stackedWidget->currentWidget();
+    if (curWidget != ui->createRingAccountPage) {
+        ui->setAvatarWidget->stopBooth();
+        disconnect(registeredNameFoundConnection_);
+    }
+    if (curWidget == ui->createRingAccountPage) {
+        processWizardInformations();
+        // or
+        //validateFileImport();
+    }
+}
+
+void
+NewWizardWidget::on_previousButton_clicked()
+{
+    const QWidget* curWidget = ui->stackedWidget->currentWidget();
+    if (curWidget != ui->createRingAccountPage) {
+        ui->setAvatarWidget->stopBooth();
+        disconnect(registeredNameFoundConnection_);
+        lookupStatusLabel_->hide();
+        passwordStatusLabel_->hide();
+    }
+
+    if (curWidget == ui->createRingAccountPage ||
+        curWidget == ui->linkRingAccountPage) {
+        changePage(ui->welcomePage);
+    }
+}
+
+void
+NewWizardWidget::on_passwordEdit_textChanged(const QString& arg1)
+{
+    Q_UNUSED(arg1);
+    validateWizardProgression();
+}
+
+void
+NewWizardWidget::on_usernameEdit_textChanged(const QString &arg1)
+{
+    registrationStateOk_ = false;
+    if (ui->signUpCheckbox->isChecked() && !arg1.isEmpty()) {
+        registeredName_ = ui->usernameEdit->text().simplified();
+        lookupTimer_.start(200);
+    } else {
+        updateNameRegistrationUi(NameRegistrationUIState::BLANK);
+        lookupTimer_.stop();
+        if (!arg1.isEmpty()) {
+            lookupTimer_.start(200);
+        }
+    }
+    validateWizardProgression();
+}
+
+void
+NewWizardWidget::timeoutNameLookupTimer()
+{
+    if (ui->signUpCheckbox->isChecked() && !ui->usernameEdit->text().isEmpty()) {
+        updateNameRegistrationUi(NameRegistrationUIState::SEARCHING);
+        NameDirectory::instance().lookupName(nullptr, QString(), registeredName_);
+    }
+}
+
+void
+NewWizardWidget::slotRegisteredNameFound(const std::string& accountId,
+                                         LookupStatus status,
+                                         const std::string& address,
+                                         const std::string& name)
+{
+    using namespace lrc::api::account;
+    if (name.length() < 3) {
+        registrationStateOk_ = false;
+        updateNameRegistrationUi(NameRegistrationUIState::INVALID);
+    } else if (registeredName_.toStdString() == name) {
+        switch (status) {
+        case LookupStatus::NOT_FOUND:
+        case LookupStatus::ERROR:
+            registrationStateOk_ = true;
+            updateNameRegistrationUi(NameRegistrationUIState::FREE);
+            break;
+        case LookupStatus::INVALID_NAME:
+        case LookupStatus::INVALID:
+            registrationStateOk_ = false;
+            updateNameRegistrationUi(NameRegistrationUIState::INVALID);
+            break;
+        case LookupStatus::SUCCESS:
+            registrationStateOk_ = false;
+            updateNameRegistrationUi(NameRegistrationUIState::TAKEN);
+            break;
+        }
+    }
+    validateWizardProgression();
+}
+
+void
+NewWizardWidget::handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name)
+{
+    Q_UNUSED(name);
+    Q_UNUSED(status);
+}
+
+void
+NewWizardWidget::on_signUpCheckbox_toggled(bool checked)
+{
+    if (checked) {
+        ui->usernameEdit->setEnabled(true);
+    } else {
+        ui->usernameEdit->setEnabled(false);
+        ui->usernameEdit->clear();
+    }
+    validateWizardProgression();
+}
+
+void
+NewWizardWidget::validateFileImport()
+{
+    validateWizardProgression();
+}
+
+void
+NewWizardWidget::validateWizardProgression()
+{
+    qDebug() << "validating wizard progression...";
+    bool usernameOk =
+        !ui->signUpCheckbox->isChecked() ||
+        (ui->signUpCheckbox->isChecked() &&
+         !registeredName_.isEmpty() &&
+         (registeredName_ == ui->usernameEdit->text()) &&
+         registrationStateOk_ == true);
+    bool passwordOk = ui->passwordEdit->text() == ui->confirmPasswordEdit->text();
+    if (passwordOk && !ui->passwordEdit->text().isEmpty()) {
+        passwordStatusLabel_->show();
+        passwordStatusLabel_->setPixmap(statusSuccessPixmap_);
+    } else if (!passwordOk) {
+        passwordStatusLabel_->show();
+        passwordStatusLabel_->setPixmap(statusErrorPixmap_);
+    } else {
+        passwordStatusLabel_->hide();
+    }
+    ui->nextButton->setEnabled(usernameOk && passwordOk);
+}
+
+void
+NewWizardWidget::createRingAccount(const QString &displayName,
+    const QString &password,
+    const QString &pin,
+    const QString &archivePath)
+{
+    QtConcurrent::run(
+        [=] {
+            LRCInstance::accountModel().createNewAccount(
+                lrc::api::profile::Type::RING,
+                displayName.toStdString(),
+                archivePath.toStdString(),
+                password.toStdString(),
+                pin.toStdString()
+            );
+        });
+    QMetaObject::Connection* const connection = new QMetaObject::Connection;
+    *connection = connect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::accountAdded,
+        [this, connection](const std::string& accountId) {
+            //set default ringtone
+            auto confProps = LRCInstance::accountModel().getAccountConfig(accountId);
+            confProps.Ringtone.ringtonePath = Utils::GetRingtonePath().toStdString();
+            LRCInstance::accountModel().setAccountConfig(accountId, confProps);
+            LRCInstance::editableAccountModel()->registerName(LRCInstance::getCurrAccId(),
+                "", registeredName_.toStdString());
+            connect(LRCInstance::editableAccountModel(),
+                &lrc::api::NewAccountModel::nameRegistrationEnded,
+                [this] {
+                    lrc::api::account::ConfProperties_t accountProperties = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId());
+                    LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), accountProperties);
+                    emit NavigationRequested(ScreenEnum::CallScreen);
+                });
+            QObject::disconnect(*connection);
+            if (connection) {
+                delete connection;
+            }
+        });
+    changePage(ui->spinnerPage);
+    repaint();
+}
\ No newline at end of file
diff --git a/newwizardwidget.h b/newwizardwidget.h
new file mode 100644
index 0000000000000000000000000000000000000000..9655bcab7cf0fe5054f0627216a9729928763d0d
--- /dev/null
+++ b/newwizardwidget.h
@@ -0,0 +1,107 @@
+/**************************************************************************
+* Copyright (C) 2018 by Savoir-faire Linux                                *
+* Author: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>          *
+*                                                                         *
+* This program is free software; you can redistribute it and/or modify    *
+* it under the terms of the GNU General Public License as published by    *
+* the Free Software Foundation; either version 3 of the License, or       *
+* (at your option) any later version.                                     *
+*                                                                         *
+* This program is distributed in the hope that it will be useful,         *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
+* GNU General Public License for more details.                            *
+*                                                                         *
+* You should have received a copy of the GNU General Public License       *
+* along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+**************************************************************************/
+
+#pragma once
+
+#include <QLabel>
+#include <QtConcurrent/QtConcurrent>
+
+#include "account.h"
+#include "person.h"
+
+#include "lrcinstance.h"
+#include "navwidget.h"
+
+namespace Ui {
+class NewWizardWidget;
+}
+
+using namespace lrc::api::account;
+
+class NewWizardWidget : public NavWidget
+{
+    Q_OBJECT
+
+public:
+
+    using AccountInfo = Info;
+
+    enum WizardMode { WIZARD, NEW_ACCOUNT, IMPORT, MIGRATION };
+
+private:
+    enum NameRegistrationUIState { BLANK, INVALID, TAKEN, FREE, SEARCHING };
+
+public:
+    explicit NewWizardWidget(WizardMode wizardMode = WIZARD,
+                             AccountInfo* toBeMigrated = nullptr,
+                             QWidget* parent = 0);
+    ~NewWizardWidget();
+
+    // NavWidget
+    virtual void navigated(bool to);
+    virtual void updateCustomUI();
+
+    //UI Slots
+private slots:
+    void on_existingPushButton_clicked();
+    void on_newAccountButton_clicked();
+    void on_nextButton_clicked();
+    void on_previousButton_clicked();
+    void on_passwordEdit_textChanged(const QString& arg1);
+
+private slots:
+    void on_usernameEdit_textChanged(const QString& arg1);
+    void slotRegisteredNameFound(const std::string& accountId,
+                                 LookupStatus status,
+                                 const std::string& address,
+                                 const std::string& name);
+    void handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name);
+    void timeoutNameLookupTimer();
+    void on_photoTaken(QString fileName);
+    void on_signUpCheckbox_toggled(bool checked);
+
+private:
+    Ui::NewWizardWidget* ui;
+
+    WizardMode wizardMode_;
+    QPixmap statusSuccessPixmap_;
+    QPixmap statusInvalidPixmap_;
+    QPixmap statusErrorPixmap_;
+
+    AccountInfo* account_;
+    QMovie* creationSpinnerMovie_;
+
+    QMovie* lookupSpinnerMovie_;
+    QTimer lookupTimer_;
+    QLabel* lookupStatusLabel_;
+    QString registeredName_;
+    bool registrationStateOk_;
+    QMetaObject::Connection registeredNameFoundConnection_;
+
+    QLabel* passwordStatusLabel_;
+    void updateNameRegistrationUi(NameRegistrationUIState state);
+    void changePage(QWidget* toPage);
+    void setNavBarVisibility(bool visible, bool back=false);
+    void validateFileImport();
+    void validateWizardProgression();
+    void createRingAccount(const QString &displayName = QString(),
+                           const QString &password = QString(),
+                           const QString &pin = QString(),
+                           const QString &archivePath = QString());
+    void processWizardInformations();
+};
diff --git a/newwizardwidget.ui b/newwizardwidget.ui
new file mode 100644
index 0000000000000000000000000000000000000000..d90d47c69b72773d76e84548f4eaeae2a8c5ba7c
--- /dev/null
+++ b/newwizardwidget.ui
@@ -0,0 +1,1541 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>NewWizardWidget</class>
+ <widget class="QWidget" name="NewWizardWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>768</width>
+    <height>873</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <item row="0" column="0">
+    <widget class="QWidget" name="containerWidget" native="true">
+     <layout class="QGridLayout" name="gridLayout_5">
+      <property name="leftMargin">
+       <number>0</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
+       <number>0</number>
+      </property>
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <item row="0" column="0">
+       <layout class="QHBoxLayout" name="horizontalLayout_6">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QWidget" name="verticalWidget" native="true">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>512</width>
+            <height>512</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>512</width>
+            <height>512</height>
+           </size>
+          </property>
+          <layout class="QVBoxLayout" name="verticalLayout_10">
+           <property name="spacing">
+            <number>0</number>
+           </property>
+           <property name="leftMargin">
+            <number>30</number>
+           </property>
+           <property name="topMargin">
+            <number>0</number>
+           </property>
+           <property name="rightMargin">
+            <number>30</number>
+           </property>
+           <property name="bottomMargin">
+            <number>30</number>
+           </property>
+           <item>
+            <layout class="QHBoxLayout" name="horizontalLayout_3">
+             <property name="topMargin">
+              <number>10</number>
+             </property>
+             <item>
+              <widget class="QStackedWidget" name="stackedWidget">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="styleSheet">
+                <string notr="true"/>
+               </property>
+               <property name="currentIndex">
+                <number>2</number>
+               </property>
+               <widget class="QWidget" name="welcomePage">
+                <layout class="QVBoxLayout" name="verticalLayout_3">
+                 <item>
+                  <spacer name="verticalSpacer_6">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeType">
+                    <enum>QSizePolicy::Fixed</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>60</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item>
+                  <widget class="QLabel" name="welcomeLabel">
+                   <property name="font">
+                    <font>
+                     <pointsize>30</pointsize>
+                     <weight>50</weight>
+                     <bold>false</bold>
+                    </font>
+                   </property>
+                   <property name="accessibleName">
+                    <string>Welcome Label</string>
+                   </property>
+                   <property name="styleSheet">
+                    <string notr="true">color: rgb(63, 63, 63)</string>
+                   </property>
+                   <property name="text">
+                    <string> Welcome to</string>
+                   </property>
+                   <property name="alignment">
+                    <set>Qt::AlignCenter</set>
+                   </property>
+                   <property name="margin">
+                    <number>0</number>
+                   </property>
+                   <property name="indent">
+                    <number>0</number>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_12">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeType">
+                    <enum>QSizePolicy::Fixed</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item>
+                  <widget class="QLabel" name="welcomeLogo">
+                   <property name="accessibleName">
+                    <string>Welcome Logo</string>
+                   </property>
+                   <property name="text">
+                    <string/>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_7">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeType">
+                    <enum>QSizePolicy::Fixed</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>10</width>
+                     <height>60</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item>
+                  <layout class="QHBoxLayout" name="horizontalLayout_4">
+                   <property name="topMargin">
+                    <number>0</number>
+                   </property>
+                   <item>
+                    <widget class="QPushButton" name="newAccountButton">
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="minimumSize">
+                      <size>
+                       <width>220</width>
+                       <height>30</height>
+                      </size>
+                     </property>
+                     <property name="maximumSize">
+                      <size>
+                       <width>220</width>
+                       <height>16777215</height>
+                      </size>
+                     </property>
+                     <property name="toolTip">
+                      <string>Create Jami account button</string>
+                     </property>
+                     <property name="accessibleName">
+                      <string/>
+                     </property>
+                     <property name="accessibleDescription">
+                      <string>Push button for Jami account creation start trigger</string>
+                     </property>
+                     <property name="layoutDirection">
+                      <enum>Qt::LeftToRight</enum>
+                     </property>
+                     <property name="text">
+                      <string>Create a Jami account</string>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                 <item>
+                  <layout class="QHBoxLayout" name="horizontalLayout_10">
+                   <property name="topMargin">
+                    <number>0</number>
+                   </property>
+                   <item>
+                    <widget class="QPushButton" name="existingPushButton">
+                     <property name="minimumSize">
+                      <size>
+                       <width>220</width>
+                       <height>30</height>
+                      </size>
+                     </property>
+                     <property name="maximumSize">
+                      <size>
+                       <width>220</width>
+                       <height>16777215</height>
+                      </size>
+                     </property>
+                     <property name="toolTip">
+                      <string>Link device button</string>
+                     </property>
+                     <property name="accessibleName">
+                      <string/>
+                     </property>
+                     <property name="accessibleDescription">
+                      <string>Push button for device linkage start trigger</string>
+                     </property>
+                     <property name="text">
+                      <string>Link this device to an account</string>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_5">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                </layout>
+               </widget>
+               <widget class="QWidget" name="linkRingAccountPage">
+                <layout class="QVBoxLayout" name="verticalLayout_7">
+                 <item>
+                  <spacer name="verticalSpacer">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item>
+                  <widget class="QLabel" name="label_2">
+                   <property name="font">
+                    <font>
+                     <pointsize>18</pointsize>
+                    </font>
+                   </property>
+                   <property name="text">
+                    <string>Link this device to an existing account</string>
+                   </property>
+                   <property name="alignment">
+                    <set>Qt::AlignCenter</set>
+                   </property>
+                   <property name="wordWrap">
+                    <bool>true</bool>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_14">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item>
+                  <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0">
+                   <property name="topMargin">
+                    <number>0</number>
+                   </property>
+                   <item>
+                    <layout class="QGridLayout" name="gridLayout_3">
+                     <property name="topMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="rightMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="spacing">
+                      <number>0</number>
+                     </property>
+                     <item row="0" column="0">
+                      <widget class="QLabel" name="label_3">
+                       <property name="minimumSize">
+                        <size>
+                         <width>0</width>
+                         <height>30</height>
+                        </size>
+                       </property>
+                       <property name="font">
+                        <font>
+                         <pointsize>8</pointsize>
+                        </font>
+                       </property>
+                       <property name="text">
+                        <string>Enter your pin:</string>
+                       </property>
+                       <property name="alignment">
+                        <set>Qt::AlignCenter</set>
+                       </property>
+                      </widget>
+                     </item>
+                     <item row="1" column="0">
+                      <widget class="QLineEdit" name="pinEdit">
+                       <property name="minimumSize">
+                        <size>
+                         <width>180</width>
+                         <height>30</height>
+                        </size>
+                       </property>
+                       <property name="maximumSize">
+                        <size>
+                         <width>180</width>
+                         <height>16777215</height>
+                        </size>
+                       </property>
+                      </widget>
+                     </item>
+                    </layout>
+                   </item>
+                   <item>
+                    <spacer name="horizontalSpacer_3">
+                     <property name="orientation">
+                      <enum>Qt::Horizontal</enum>
+                     </property>
+                     <property name="sizeHint" stdset="0">
+                      <size>
+                       <width>40</width>
+                       <height>20</height>
+                      </size>
+                     </property>
+                    </spacer>
+                   </item>
+                   <item>
+                    <layout class="QGridLayout" name="gridLayout_4">
+                     <property name="topMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="rightMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="spacing">
+                      <number>0</number>
+                     </property>
+                     <item row="0" column="0">
+                      <widget class="QLabel" name="label_4">
+                       <property name="minimumSize">
+                        <size>
+                         <width>0</width>
+                         <height>30</height>
+                        </size>
+                       </property>
+                       <property name="font">
+                        <font>
+                         <pointsize>8</pointsize>
+                        </font>
+                       </property>
+                       <property name="text">
+                        <string>Or import a file:</string>
+                       </property>
+                       <property name="alignment">
+                        <set>Qt::AlignCenter</set>
+                       </property>
+                      </widget>
+                     </item>
+                     <item row="1" column="0">
+                      <widget class="QPushButton" name="fileImportBtn">
+                       <property name="minimumSize">
+                        <size>
+                         <width>180</width>
+                         <height>30</height>
+                        </size>
+                       </property>
+                       <property name="maximumSize">
+                        <size>
+                         <width>180</width>
+                         <height>30</height>
+                        </size>
+                       </property>
+                       <property name="toolTip">
+                        <string>Link from exported account archive file</string>
+                       </property>
+                       <property name="text">
+                        <string>(None)</string>
+                       </property>
+                      </widget>
+                     </item>
+                    </layout>
+                   </item>
+                  </layout>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_2">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeType">
+                    <enum>QSizePolicy::Fixed</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item>
+                  <layout class="QGridLayout" name="gridLayout_2">
+                   <property name="topMargin">
+                    <number>0</number>
+                   </property>
+                   <property name="spacing">
+                    <number>0</number>
+                   </property>
+                   <item row="1" column="0">
+                    <widget class="QLineEdit" name="importPasswordEdit">
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                       <horstretch>200</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="minimumSize">
+                      <size>
+                       <width>200</width>
+                       <height>30</height>
+                      </size>
+                     </property>
+                     <property name="maximumSize">
+                      <size>
+                       <width>200</width>
+                       <height>16777215</height>
+                      </size>
+                     </property>
+                    </widget>
+                   </item>
+                   <item row="0" column="0">
+                    <widget class="QLabel" name="label_5">
+                     <property name="minimumSize">
+                      <size>
+                       <width>0</width>
+                       <height>30</height>
+                      </size>
+                     </property>
+                     <property name="font">
+                      <font>
+                       <pointsize>8</pointsize>
+                      </font>
+                     </property>
+                     <property name="text">
+                      <string>Password:</string>
+                     </property>
+                     <property name="alignment">
+                      <set>Qt::AlignCenter</set>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_13">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                </layout>
+               </widget>
+               <widget class="QWidget" name="createRingAccountPage">
+                <layout class="QVBoxLayout" name="verticalLayout_5">
+                 <property name="spacing">
+                  <number>0</number>
+                 </property>
+                 <property name="leftMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="topMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="rightMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="bottomMargin">
+                  <number>0</number>
+                 </property>
+                 <item>
+                  <widget class="QWidget" name="profileSectionOuterWidget" native="true">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="minimumSize">
+                    <size>
+                     <width>0</width>
+                     <height>0</height>
+                    </size>
+                   </property>
+                   <property name="maximumSize">
+                    <size>
+                     <width>16777215</width>
+                     <height>16777215</height>
+                    </size>
+                   </property>
+                   <layout class="QVBoxLayout" name="profileLayout">
+                    <property name="spacing">
+                     <number>0</number>
+                    </property>
+                    <property name="leftMargin">
+                     <number>0</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>0</number>
+                    </property>
+                    <property name="rightMargin">
+                     <number>0</number>
+                    </property>
+                    <property name="bottomMargin">
+                     <number>0</number>
+                    </property>
+                    <item>
+                     <widget class="QLabel" name="profileSectionLabel">
+                      <property name="sizePolicy">
+                       <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                        <horstretch>0</horstretch>
+                        <verstretch>0</verstretch>
+                       </sizepolicy>
+                      </property>
+                      <property name="font">
+                       <font>
+                        <pointsize>15</pointsize>
+                       </font>
+                      </property>
+                      <property name="styleSheet">
+                       <string notr="true">color: rgb(63, 63, 63)</string>
+                      </property>
+                      <property name="text">
+                       <string>Profile</string>
+                      </property>
+                      <property name="alignment">
+                       <set>Qt::AlignCenter</set>
+                      </property>
+                     </widget>
+                    </item>
+                    <item>
+                     <widget class="QWidget" name="profileSectionInnerWidget" native="true">
+                      <property name="styleSheet">
+                       <string notr="true"/>
+                      </property>
+                      <layout class="QVBoxLayout" name="verticalLayout">
+                       <property name="spacing">
+                        <number>0</number>
+                       </property>
+                       <property name="leftMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="topMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="rightMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="bottomMargin">
+                        <number>0</number>
+                       </property>
+                       <item>
+                        <widget class="QWidget" name="gridWidget" native="true">
+                         <layout class="QVBoxLayout" name="verticalLayout_6">
+                          <property name="spacing">
+                           <number>3</number>
+                          </property>
+                          <property name="leftMargin">
+                           <number>0</number>
+                          </property>
+                          <property name="topMargin">
+                           <number>0</number>
+                          </property>
+                          <property name="rightMargin">
+                           <number>0</number>
+                          </property>
+                          <property name="bottomMargin">
+                           <number>0</number>
+                          </property>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayout_2">
+                            <property name="topMargin">
+                             <number>0</number>
+                            </property>
+                            <item>
+                             <widget class="PhotoboothWidget" name="setAvatarWidget" native="true">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="minimumSize">
+                               <size>
+                                <width>140</width>
+                                <height>140</height>
+                               </size>
+                              </property>
+                              <property name="styleSheet">
+                               <string notr="true"/>
+                              </property>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <spacer name="verticalSpacer_9">
+                            <property name="orientation">
+                             <enum>Qt::Vertical</enum>
+                            </property>
+                            <property name="sizeType">
+                             <enum>QSizePolicy::Fixed</enum>
+                            </property>
+                            <property name="sizeHint" stdset="0">
+                             <size>
+                              <width>20</width>
+                              <height>3</height>
+                             </size>
+                            </property>
+                           </spacer>
+                          </item>
+                          <item>
+                           <widget class="QWidget" name="fullNameWidget" native="true">
+                            <property name="minimumSize">
+                             <size>
+                              <width>0</width>
+                              <height>30</height>
+                             </size>
+                            </property>
+                            <property name="maximumSize">
+                             <size>
+                              <width>16777215</width>
+                              <height>16777215</height>
+                             </size>
+                            </property>
+                            <layout class="QHBoxLayout" name="horizontalLayout_9">
+                             <property name="spacing">
+                              <number>0</number>
+                             </property>
+                             <property name="leftMargin">
+                              <number>0</number>
+                             </property>
+                             <property name="topMargin">
+                              <number>0</number>
+                             </property>
+                             <property name="rightMargin">
+                              <number>0</number>
+                             </property>
+                             <property name="bottomMargin">
+                              <number>0</number>
+                             </property>
+                             <item>
+                              <spacer name="horizontalSpacer_5">
+                               <property name="orientation">
+                                <enum>Qt::Horizontal</enum>
+                               </property>
+                               <property name="sizeHint" stdset="0">
+                                <size>
+                                 <width>40</width>
+                                 <height>20</height>
+                                </size>
+                               </property>
+                              </spacer>
+                             </item>
+                             <item>
+                              <widget class="QLineEdit" name="fullNameEdit">
+                               <property name="minimumSize">
+                                <size>
+                                 <width>200</width>
+                                 <height>30</height>
+                                </size>
+                               </property>
+                               <property name="maximumSize">
+                                <size>
+                                 <width>200</width>
+                                 <height>16777215</height>
+                                </size>
+                               </property>
+                               <property name="font">
+                                <font>
+                                 <pointsize>9</pointsize>
+                                </font>
+                               </property>
+                               <property name="toolTip">
+                                <string/>
+                               </property>
+                               <property name="placeholderText">
+                                <string>Profile name</string>
+                               </property>
+                              </widget>
+                             </item>
+                             <item>
+                              <spacer name="horizontalSpacer_15">
+                               <property name="orientation">
+                                <enum>Qt::Horizontal</enum>
+                               </property>
+                               <property name="sizeHint" stdset="0">
+                                <size>
+                                 <width>40</width>
+                                 <height>20</height>
+                                </size>
+                               </property>
+                              </spacer>
+                             </item>
+                            </layout>
+                           </widget>
+                          </item>
+                         </layout>
+                        </widget>
+                       </item>
+                      </layout>
+                     </widget>
+                    </item>
+                   </layout>
+                  </widget>
+                 </item>
+                 <item>
+                  <widget class="QWidget" name="accountSectionOuterWidget" native="true">
+                   <layout class="QVBoxLayout" name="verticalLayout_2">
+                    <property name="spacing">
+                     <number>3</number>
+                    </property>
+                    <property name="leftMargin">
+                     <number>0</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>0</number>
+                    </property>
+                    <property name="rightMargin">
+                     <number>0</number>
+                    </property>
+                    <property name="bottomMargin">
+                     <number>0</number>
+                    </property>
+                    <item>
+                     <spacer name="verticalSpacer_8">
+                      <property name="orientation">
+                       <enum>Qt::Vertical</enum>
+                      </property>
+                      <property name="sizeType">
+                       <enum>QSizePolicy::Fixed</enum>
+                      </property>
+                      <property name="sizeHint" stdset="0">
+                       <size>
+                        <width>20</width>
+                        <height>20</height>
+                       </size>
+                      </property>
+                     </spacer>
+                    </item>
+                    <item>
+                     <widget class="QLabel" name="accountSectionLabel">
+                      <property name="font">
+                       <font>
+                        <pointsize>14</pointsize>
+                       </font>
+                      </property>
+                      <property name="styleSheet">
+                       <string notr="true">color: rgb(63, 63, 63)</string>
+                      </property>
+                      <property name="text">
+                       <string>Account</string>
+                      </property>
+                      <property name="alignment">
+                       <set>Qt::AlignCenter</set>
+                      </property>
+                     </widget>
+                    </item>
+                    <item>
+                     <widget class="QWidget" name="accountSectionInnerWidget" native="true">
+                      <property name="styleSheet">
+                       <string notr="true"/>
+                      </property>
+                      <layout class="QVBoxLayout" name="verticalLayout_9">
+                       <property name="topMargin">
+                        <number>0</number>
+                       </property>
+                       <item>
+                        <layout class="QGridLayout" name="gridLayout_6">
+                         <property name="topMargin">
+                          <number>0</number>
+                         </property>
+                         <item row="0" column="0">
+                          <widget class="QWidget" name="verticalWidget" native="true">
+                           <property name="sizePolicy">
+                            <sizepolicy hsizetype="Fixed" vsizetype="MinimumExpanding">
+                             <horstretch>0</horstretch>
+                             <verstretch>0</verstretch>
+                            </sizepolicy>
+                           </property>
+                           <layout class="QVBoxLayout" name="verticalLayout_11">
+                            <property name="spacing">
+                             <number>2</number>
+                            </property>
+                            <property name="leftMargin">
+                             <number>0</number>
+                            </property>
+                            <property name="topMargin">
+                             <number>0</number>
+                            </property>
+                            <property name="rightMargin">
+                             <number>0</number>
+                            </property>
+                            <property name="bottomMargin">
+                             <number>0</number>
+                            </property>
+                            <item>
+                             <widget class="QWidget" name="infoWidget" native="true">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="minimumSize">
+                               <size>
+                                <width>0</width>
+                                <height>30</height>
+                               </size>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <layout class="QHBoxLayout" name="horizontalLayout_8">
+                               <property name="spacing">
+                                <number>0</number>
+                               </property>
+                               <property name="leftMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="topMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="rightMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="bottomMargin">
+                                <number>0</number>
+                               </property>
+                               <item>
+                                <spacer name="horizontalSpacer_9">
+                                 <property name="orientation">
+                                  <enum>Qt::Horizontal</enum>
+                                 </property>
+                                 <property name="sizeHint" stdset="0">
+                                  <size>
+                                   <width>40</width>
+                                   <height>20</height>
+                                  </size>
+                                 </property>
+                                </spacer>
+                               </item>
+                               <item>
+                                <widget class="QLabel" name="infoLabel">
+                                 <property name="font">
+                                  <font>
+                                   <pointsize>12</pointsize>
+                                  </font>
+                                 </property>
+                                 <property name="text">
+                                  <string/>
+                                 </property>
+                                 <property name="alignment">
+                                  <set>Qt::AlignCenter</set>
+                                 </property>
+                                 <property name="wordWrap">
+                                  <bool>true</bool>
+                                 </property>
+                                </widget>
+                               </item>
+                               <item>
+                                <spacer name="horizontalSpacer_10">
+                                 <property name="orientation">
+                                  <enum>Qt::Horizontal</enum>
+                                 </property>
+                                 <property name="sizeHint" stdset="0">
+                                  <size>
+                                   <width>40</width>
+                                   <height>20</height>
+                                  </size>
+                                 </property>
+                                </spacer>
+                               </item>
+                              </layout>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QWidget" name="signUpWidget" native="true">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="minimumSize">
+                               <size>
+                                <width>0</width>
+                                <height>30</height>
+                               </size>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <layout class="QHBoxLayout" name="horizontalLayout_7">
+                               <property name="spacing">
+                                <number>0</number>
+                               </property>
+                               <property name="leftMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="topMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="rightMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="bottomMargin">
+                                <number>0</number>
+                               </property>
+                               <item>
+                                <spacer name="horizontalSpacer_2">
+                                 <property name="orientation">
+                                  <enum>Qt::Horizontal</enum>
+                                 </property>
+                                 <property name="sizeHint" stdset="0">
+                                  <size>
+                                   <width>40</width>
+                                   <height>20</height>
+                                  </size>
+                                 </property>
+                                </spacer>
+                               </item>
+                               <item>
+                                <widget class="QCheckBox" name="signUpCheckbox">
+                                 <property name="minimumSize">
+                                  <size>
+                                   <width>0</width>
+                                   <height>30</height>
+                                  </size>
+                                 </property>
+                                 <property name="toolTip">
+                                  <string>Register your username on the Ring. This will reserve the username so that only you can use it. Your friends will be able to call you with your usename instead of using your RingID.</string>
+                                 </property>
+                                 <property name="accessibleName">
+                                  <string>Public username checkbox</string>
+                                 </property>
+                                 <property name="accessibleDescription">
+                                  <string>Checkbox selecting if the user wants a public username</string>
+                                 </property>
+                                 <property name="text">
+                                  <string>Register public username</string>
+                                 </property>
+                                 <property name="checked">
+                                  <bool>true</bool>
+                                 </property>
+                                </widget>
+                               </item>
+                               <item>
+                                <spacer name="horizontalSpacer_4">
+                                 <property name="orientation">
+                                  <enum>Qt::Horizontal</enum>
+                                 </property>
+                                 <property name="sizeHint" stdset="0">
+                                  <size>
+                                   <width>40</width>
+                                   <height>20</height>
+                                  </size>
+                                 </property>
+                                </spacer>
+                               </item>
+                              </layout>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QWidget" name="usernameWidget" native="true">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="minimumSize">
+                               <size>
+                                <width>0</width>
+                                <height>30</height>
+                               </size>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <layout class="QHBoxLayout" name="usernameLayout">
+                               <property name="spacing">
+                                <number>0</number>
+                               </property>
+                               <property name="leftMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="topMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="rightMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="bottomMargin">
+                                <number>0</number>
+                               </property>
+                               <item>
+                                <widget class="QLineEdit" name="usernameEdit">
+                                 <property name="minimumSize">
+                                  <size>
+                                   <width>200</width>
+                                   <height>30</height>
+                                  </size>
+                                 </property>
+                                 <property name="maximumSize">
+                                  <size>
+                                   <width>200</width>
+                                   <height>16777215</height>
+                                  </size>
+                                 </property>
+                                 <property name="font">
+                                  <font>
+                                   <pointsize>9</pointsize>
+                                  </font>
+                                 </property>
+                                 <property name="toolTip">
+                                  <string>Public username edit</string>
+                                 </property>
+                                 <property name="accessibleName">
+                                  <string/>
+                                 </property>
+                                 <property name="placeholderText">
+                                  <string>Choose your username</string>
+                                 </property>
+                                 <property name="clearButtonEnabled">
+                                  <bool>true</bool>
+                                 </property>
+                                </widget>
+                               </item>
+                              </layout>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QWidget" name="passWidget" native="true">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="minimumSize">
+                               <size>
+                                <width>0</width>
+                                <height>30</height>
+                               </size>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <layout class="QHBoxLayout" name="passLayout">
+                               <property name="spacing">
+                                <number>0</number>
+                               </property>
+                               <property name="leftMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="topMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="rightMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="bottomMargin">
+                                <number>0</number>
+                               </property>
+                               <item>
+                                <widget class="QLineEdit" name="passwordEdit">
+                                 <property name="minimumSize">
+                                  <size>
+                                   <width>200</width>
+                                   <height>30</height>
+                                  </size>
+                                 </property>
+                                 <property name="maximumSize">
+                                  <size>
+                                   <width>200</width>
+                                   <height>16777215</height>
+                                  </size>
+                                 </property>
+                                 <property name="font">
+                                  <font>
+                                   <pointsize>9</pointsize>
+                                  </font>
+                                 </property>
+                                 <property name="toolTip">
+                                  <string>Password text input</string>
+                                 </property>
+                                 <property name="accessibleName">
+                                  <string/>
+                                 </property>
+                                 <property name="accessibleDescription">
+                                  <string>Password text entry</string>
+                                 </property>
+                                 <property name="echoMode">
+                                  <enum>QLineEdit::Password</enum>
+                                 </property>
+                                 <property name="placeholderText">
+                                  <string>Password</string>
+                                 </property>
+                                 <property name="clearButtonEnabled">
+                                  <bool>false</bool>
+                                 </property>
+                                </widget>
+                               </item>
+                              </layout>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QWidget" name="confPassWidget" native="true">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="minimumSize">
+                               <size>
+                                <width>0</width>
+                                <height>30</height>
+                               </size>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <layout class="QHBoxLayout" name="confirmPassLabel">
+                               <property name="spacing">
+                                <number>0</number>
+                               </property>
+                               <property name="leftMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="topMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="rightMargin">
+                                <number>0</number>
+                               </property>
+                               <property name="bottomMargin">
+                                <number>0</number>
+                               </property>
+                               <item>
+                                <widget class="QLineEdit" name="confirmPasswordEdit">
+                                 <property name="minimumSize">
+                                  <size>
+                                   <width>200</width>
+                                   <height>30</height>
+                                  </size>
+                                 </property>
+                                 <property name="maximumSize">
+                                  <size>
+                                   <width>200</width>
+                                   <height>16777215</height>
+                                  </size>
+                                 </property>
+                                 <property name="font">
+                                  <font>
+                                   <pointsize>9</pointsize>
+                                  </font>
+                                 </property>
+                                 <property name="toolTip">
+                                  <string>Password confirmation text input</string>
+                                 </property>
+                                 <property name="accessibleName">
+                                  <string/>
+                                 </property>
+                                 <property name="accessibleDescription">
+                                  <string>Password confirmation text input</string>
+                                 </property>
+                                 <property name="echoMode">
+                                  <enum>QLineEdit::Password</enum>
+                                 </property>
+                                 <property name="placeholderText">
+                                  <string>Confirm password</string>
+                                 </property>
+                                 <property name="clearButtonEnabled">
+                                  <bool>false</bool>
+                                 </property>
+                                </widget>
+                               </item>
+                              </layout>
+                             </widget>
+                            </item>
+                           </layout>
+                          </widget>
+                         </item>
+                        </layout>
+                       </item>
+                      </layout>
+                     </widget>
+                    </item>
+                   </layout>
+                  </widget>
+                 </item>
+                </layout>
+               </widget>
+               <widget class="QWidget" name="spinnerPage">
+                <layout class="QVBoxLayout" name="verticalLayout_4">
+                 <item>
+                  <spacer name="verticalSpacer_3">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item alignment="Qt::AlignHCenter">
+                  <widget class="QLabel" name="spinnerLabel">
+                   <property name="text">
+                    <string/>
+                   </property>
+                   <property name="pixmap">
+                    <pixmap resource="ressources.qrc">:/images/jami_eclipse_spinner.gif</pixmap>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_11">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item alignment="Qt::AlignHCenter">
+                  <widget class="QLabel" name="progressLabel">
+                   <property name="font">
+                    <font>
+                     <pointsize>11</pointsize>
+                    </font>
+                   </property>
+                   <property name="text">
+                    <string>Generating your Jami account…</string>
+                   </property>
+                   <property name="alignment">
+                    <set>Qt::AlignCenter</set>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <spacer name="verticalSpacer_10">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeType">
+                    <enum>QSizePolicy::Minimum</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                </layout>
+               </widget>
+              </widget>
+             </item>
+            </layout>
+           </item>
+           <item>
+            <spacer name="verticalSpacer_4">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QWidget" name="navBarWidget" native="true">
+             <layout class="QHBoxLayout" name="_2">
+              <property name="spacing">
+               <number>0</number>
+              </property>
+              <property name="leftMargin">
+               <number>11</number>
+              </property>
+              <property name="topMargin">
+               <number>11</number>
+              </property>
+              <property name="rightMargin">
+               <number>11</number>
+              </property>
+              <property name="bottomMargin">
+               <number>11</number>
+              </property>
+              <item>
+               <widget class="QPushButton" name="previousButton">
+                <property name="minimumSize">
+                 <size>
+                  <width>85</width>
+                  <height>30</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>Previous page button</string>
+                </property>
+                <property name="accessibleName">
+                 <string/>
+                </property>
+                <property name="accessibleDescription">
+                 <string>push button to access previous page of wizard</string>
+                </property>
+                <property name="text">
+                 <string>Previous</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item>
+               <widget class="QPushButton" name="backButton">
+                <property name="minimumSize">
+                 <size>
+                  <width>85</width>
+                  <height>30</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>Cancel account create/link</string>
+                </property>
+                <property name="accessibleName">
+                 <string/>
+                </property>
+                <property name="accessibleDescription">
+                 <string>push button to cancel account creation or linking</string>
+                </property>
+                <property name="text">
+                 <string>Back</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_16">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item>
+               <widget class="QPushButton" name="nextButton">
+                <property name="minimumSize">
+                 <size>
+                  <width>85</width>
+                  <height>30</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>85</width>
+                  <height>30</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>Next page Button</string>
+                </property>
+                <property name="accessibleName">
+                 <string/>
+                </property>
+                <property name="accessibleDescription">
+                 <string>Push button to access next page of wizard</string>
+                </property>
+                <property name="text">
+                 <string>Next</string>
+                </property>
+                <property name="flat">
+                 <bool>false</bool>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>PhotoboothWidget</class>
+   <extends>QWidget</extends>
+   <header>photoboothwidget.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
+ <resources>
+  <include location="ressources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/photoboothwidget.cpp b/photoboothwidget.cpp
index ded23f4eb903f905f6aa38638dd7e0d4a567bf8a..54fef50394abb67ba40907c4e9fde64c412b76cf 100644
--- a/photoboothwidget.cpp
+++ b/photoboothwidget.cpp
@@ -23,6 +23,13 @@
 #include <QStandardPaths>
 
 #include "video/previewmanager.h"
+#include "profilemodel.h"
+#include "profile.h"
+#include "account.h"
+#include "person.h"
+
+#include "utils.h"
+
 
 PhotoboothWidget::PhotoboothWidget(QWidget *parent) :
     QWidget(parent),
@@ -46,12 +53,16 @@ void PhotoboothWidget::startBooth()
     Video::PreviewManager::instance().stopPreview();
     Video::PreviewManager::instance().startPreview();
     ui->videoFeed->show();
+    ui->avatarLabel->hide();
+    takePhotoState_ = true;
 }
 
 void PhotoboothWidget::stopBooth()
 {
     Video::PreviewManager::instance().stopPreview();
-    hide();
+    ui->videoFeed->hide();
+    ui->avatarLabel->show();
+    takePhotoState_ = false;
 }
 
 void
@@ -60,21 +71,35 @@ PhotoboothWidget::on_importButton_clicked()
     fileName_ = QFileDialog::getOpenFileName(this, tr("Choose File"),
                                             "",
                                             tr("Files (*)"));
-    if (fileName_.isEmpty())
+    if (fileName_.isEmpty()) {
         fileName_ = QStandardPaths::standardLocations(
-                    QStandardPaths::TempLocation).first()
-                + QStringLiteral("profile.png");
-    else {
+            QStandardPaths::TempLocation).first()
+            + QStringLiteral("profile.png");
+    } else {
         Video::PreviewManager::instance().stopPreview();
     }
+    auto image = QImage(fileName_);
+    auto avatar = image.scaled(100, 100, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
+    ProfileModel::instance().selectedProfile()->person()->setPhoto(avatar);
+    ui->avatarLabel->setPixmap(QPixmap::fromImage(Utils::getCirclePhoto(avatar, ui->avatarLabel->width())));
     emit photoTaken(fileName_);
 }
 
 void
 PhotoboothWidget::on_takePhotoButton_clicked()
 {
-    auto photo = ui->videoFeed->takePhoto();
-    Video::PreviewManager::instance().stopPreview();
-    photo.save(fileName_);
-    emit photoTaken(fileName_);
+    if (!takePhotoState_) {
+        takePhotoState_ = true;
+        ui->takePhotoButton->setIcon(QPixmap(":/images/icons/baseline-camera_alt-24px.svg"));
+        emit photoReady();
+    } else {
+        auto photo = ui->videoFeed->takePhoto();
+        Video::PreviewManager::instance().stopPreview();
+        photo.save(fileName_);
+        auto avatar = photo.scaled(100, 100, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
+        ProfileModel::instance().selectedProfile()->person()->setPhoto(avatar);
+        ui->avatarLabel->setPixmap(QPixmap::fromImage(Utils::getCirclePhoto(avatar, ui->avatarLabel->width())));
+        ui->takePhotoButton->setIcon(QPixmap(":/images/icons/baseline-refresh-24px.svg"));
+        emit photoTaken(fileName_);
+    }
 }
diff --git a/photoboothwidget.h b/photoboothwidget.h
index c5020a2b3d47e8193f8f2f8f835a02d819a3d38c..704541513f59bd353c1832b1ab60be2374d33de8 100644
--- a/photoboothwidget.h
+++ b/photoboothwidget.h
@@ -43,8 +43,11 @@ private:
     QString fileName_;
     Ui::PhotoboothWidget *ui;
 
+    bool takePhotoState_;
+
 signals:
     void photoTaken(QString fileName);
+    void photoReady();
 };
 
 #endif // PHOTOBOOTHWIDGET_H
diff --git a/photoboothwidget.ui b/photoboothwidget.ui
index e06f7ee7c57abd2dceef5f7786996ee3de792369..258159f8be4608ab98d75464204b97bfa3a7b4b6 100644
--- a/photoboothwidget.ui
+++ b/photoboothwidget.ui
@@ -6,28 +6,143 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>558</width>
-    <height>458</height>
+    <width>392</width>
+    <height>160</height>
    </rect>
   </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
   <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout" stretch="9,0">
+  <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
    <item>
-    <widget class="VideoWidget" name="videoFeed" native="true">
-     <property name="toolTip">
-      <string>Photobooth display</string>
-     </property>
-     <property name="autoFillBackground">
-      <bool>true</bool>
-     </property>
+    <widget class="QWidget" name="horizontalWidget" native="true">
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <property name="leftMargin">
+       <number>0</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
+       <number>3</number>
+      </property>
+      <item>
+       <widget class="QWidget" name="verticalWidget" native="true">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>120</width>
+          <height>120</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>120</width>
+          <height>120</height>
+         </size>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayout_2">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+         <property name="sizeConstraint">
+          <enum>QLayout::SetDefaultConstraint</enum>
+         </property>
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <property name="rightMargin">
+          <number>0</number>
+         </property>
+         <property name="bottomMargin">
+          <number>0</number>
+         </property>
+         <item>
+          <widget class="QLabel" name="avatarLabel">
+           <property name="minimumSize">
+            <size>
+             <width>120</width>
+             <height>120</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>120</width>
+             <height>120</height>
+            </size>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="VideoWidget" name="videoFeed" native="true">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>120</width>
+             <height>120</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>Photobooth display</string>
+           </property>
+           <property name="autoFillBackground">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </item>
+     </layout>
     </widget>
    </item>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <property name="topMargin">
-      <number>10</number>
+      <number>0</number>
      </property>
      <item>
       <spacer name="horizontalSpacer_3">
@@ -44,54 +159,64 @@
      </item>
      <item>
       <widget class="QPushButton" name="takePhotoButton">
-       <property name="enabled">
-        <bool>true</bool>
+       <property name="minimumSize">
+        <size>
+         <width>30</width>
+         <height>30</height>
+        </size>
        </property>
-       <property name="toolTip">
-        <string>Take photo</string>
+       <property name="maximumSize">
+        <size>
+         <width>30</width>
+         <height>30</height>
+        </size>
        </property>
        <property name="text">
         <string/>
        </property>
        <property name="icon">
         <iconset resource="ressources.qrc">
-         <normaloff>:/images/icons/ic_photo_camera_white_24dp_2x.png</normaloff>:/images/icons/ic_photo_camera_white_24dp_2x.png</iconset>
-       </property>
-       <property name="iconSize">
-        <size>
-         <width>36</width>
-         <height>36</height>
-        </size>
+         <normaloff>:/images/icons/baseline-camera_alt-24px.svg</normaloff>:/images/icons/baseline-camera_alt-24px.svg</iconset>
        </property>
       </widget>
      </item>
-     <item alignment="Qt::AlignHCenter">
-      <widget class="QLabel" name="label">
-       <property name="text">
-        <string>or</string>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
        </property>
-      </widget>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>6</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
      </item>
      <item>
       <widget class="QPushButton" name="importButton">
        <property name="minimumSize">
         <size>
-         <width>60</width>
+         <width>30</width>
          <height>30</height>
         </size>
        </property>
-       <property name="toolTip">
-        <string>Import photo</string>
-       </property>
-       <property name="text">
-        <string>Import</string>
-       </property>
-       <property name="iconSize">
+       <property name="maximumSize">
         <size>
-         <width>16</width>
+         <width>30</width>
          <height>30</height>
         </size>
        </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="ressources.qrc">
+         <normaloff>:/images/icons/round-folder-24px.svg</normaloff>:/images/icons/round-folder-24px.svg</iconset>
+       </property>
       </widget>
      </item>
      <item>
diff --git a/ressources.qrc b/ressources.qrc
index d5c235b1f2a5cf1f49645848ad297ecd31a13198..717bcb892ccd8914601585b6f4debb4f55a9f348 100644
--- a/ressources.qrc
+++ b/ressources.qrc
@@ -1,76 +1,79 @@
 <RCC>
-    <qresource prefix="/">
-        <file>stylesheet.css</file>
-        <file>images/ajax-loader.gif</file>
-        <file>images/background-dark.png</file>
-        <file>images/background-light.png</file>
-        <file>images/default_avatar_overlay.svg</file>
-        <file>images/FontAwesome.otf</file>
-        <file>images/loading.gif</file>
-        <file>images/logo-jami-standard-coul.png</file>
-        <file>images/qrcode.png</file>
-        <file>images/jami.ico</file>
-        <file>images/jami.png</file>
-        <file>images/spikeMask.png</file>
-        <file>images/waiting.gif</file>
-        <file>images/icons/ic_add_black_18dp_2x.png</file>
-        <file>images/icons/ic_arrow_back_24px.svg</file>
-        <file>images/icons/ic_arrow_back_white_24dp.png</file>
-        <file>images/icons/ic_arrow_drop_down_black_9dp_2x.png</file>
-        <file>images/icons/ic_arrow_drop_down_black_18dp_2x.png</file>
-        <file>images/icons/ic_arrow_drop_up_black_9dp_2x.png</file>
-        <file>images/icons/ic_arrow_drop_up_black_18dp_2x.png</file>
-        <file>images/icons/ic_arrow_forward_white_48dp_2x.png</file>
-        <file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file>
-        <file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file>
-        <file>images/icons/ic_block_24px.svg</file>
-        <file>images/icons/ic_call_transfer_white_24px.png</file>
-        <file>images/icons/ic_chat_black_24dp_2x.png</file>
-        <file>images/icons/ic_chat_white_24dp.png</file>
-        <file>images/icons/ic_check_white_18dp_2x.png</file>
-        <file>images/icons/ic_clear_24px.svg</file>
-        <file>images/icons/ic_close_white_24dp.png</file>
-        <file>images/icons/ic_content_copy_white_24dp.png</file>
-        <file>images/icons/ic_delete_black_18dp_2x.png</file>
-        <file>images/icons/ic_done_white_24dp.png</file>
-        <file>images/icons/ic_folder_black_18dp_2x.png</file>
-        <file>images/icons/ic_group_add_white_24dp.png</file>
-        <file>images/icons/ic_high_quality_white_24dp.png</file>
-        <file>images/icons/ic_mic_off_white_24dp.png</file>
-        <file>images/icons/ic_pause_white_24dp.png</file>
-        <file>images/icons/ic_pause_white_100px.png</file>
-        <file>images/icons/ic_person_add_black_24dp_2x.png</file>
-        <file>images/icons/ic_person_add_white_24dp.png</file>
-        <file>images/icons/ic_phone_24px.svg</file>
-        <file>images/icons/ic_photo_camera_white_24dp_2x.png</file>
-        <file>images/icons/ic_search_black_18dp_2x.png</file>
-        <file>images/icons/ic_send_24px.svg</file>
-        <file>images/icons/ic_send_white_24dp.png</file>
-        <file>images/icons/ic_settings_white_48dp_2x.png</file>
-        <file>images/icons/ic_share_black_48dp_2x.png</file>
-        <file>images/icons/ic_video_call_24px.svg</file>
-        <file>images/icons/ic_videocam_off_white_24dp.png</file>
-        <file>images/icons/ic_videocam_white.png</file>
-        <file>images/icons/ic_voicemail_white_24dp_2x.png</file>
-        <file>images/icons/round-add-24px.svg</file>
-        <file>images/icons/round-arrow_drop_down-24px.svg</file>
-        <file>images/icons/round-arrow_drop_up-24px.svg</file>
-        <file>images/icons/round-arrow_right-24px.svg</file>
-        <file>images/icons/round-close-24px.svg</file>
-        <file>images/icons/round-edit-24px.svg</file>
-        <file>images/icons/round-folder-24px.svg</file>
-        <file>images/icons/round-remove_circle-24px.svg</file>
-        <file>images/icons/round-settings-24px.svg</file>
-        <file>images/icons/round-undo-24px.svg</file>
-        <file>web/chatview.css</file>
-        <file>web/chatview.html</file>
-        <file>web/chatview.js</file>
-        <file>web/linkify.js</file>
-        <file>web/linkify-html.js</file>
-        <file>web/linkify-string.js</file>
-        <file>web/qwebchannel.js</file>
-        <file>images/icons/round-check_circle-24px.svg</file>
-        <file>images/icons/round-error-24px.svg</file>
-        <file>images/icons/round-save_alt-24px.svg</file>
-    </qresource>
+  <qresource prefix="/">
+    <file>images/icons/baseline-camera_alt-24px.svg</file>
+    <file>images/icons/baseline-refresh-24px.svg</file>
+    <file>images/jami_rolling_spinner.gif</file>
+    <file>images/icons/baseline-close-24px.svg</file>
+    <file>images/icons/baseline-done-24px.svg</file>
+    <file>images/icons/baseline-error_outline-24px.svg</file>
+    <file>stylesheet.css</file>
+    <file>images/ajax-loader.gif</file>
+    <file>images/default_avatar_overlay.svg</file>
+    <file>images/FontAwesome.otf</file>
+    <file>images/logo-jami-standard-coul.png</file>
+    <file>images/qrcode.png</file>
+    <file>images/jami.ico</file>
+    <file>images/jami.png</file>
+    <file>images/waiting.gif</file>
+    <file>images/icons/ic_add_black_18dp_2x.png</file>
+    <file>images/icons/ic_arrow_back_24px.svg</file>
+    <file>images/icons/ic_arrow_back_white_24dp.png</file>
+    <file>images/icons/ic_arrow_drop_down_black_9dp_2x.png</file>
+    <file>images/icons/ic_arrow_drop_down_black_18dp_2x.png</file>
+    <file>images/icons/ic_arrow_drop_up_black_9dp_2x.png</file>
+    <file>images/icons/ic_arrow_drop_up_black_18dp_2x.png</file>
+    <file>images/icons/ic_arrow_forward_white_48dp_2x.png</file>
+    <file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file>
+    <file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file>
+    <file>images/icons/ic_block_24px.svg</file>
+    <file>images/icons/ic_call_transfer_white_24px.png</file>
+    <file>images/icons/ic_chat_black_24dp_2x.png</file>
+    <file>images/icons/ic_chat_white_24dp.png</file>
+    <file>images/icons/ic_check_white_18dp_2x.png</file>
+    <file>images/icons/ic_clear_24px.svg</file>
+    <file>images/icons/ic_close_white_24dp.png</file>
+    <file>images/icons/ic_content_copy_white_24dp.png</file>
+    <file>images/icons/ic_delete_black_18dp_2x.png</file>
+    <file>images/icons/ic_done_white_24dp.png</file>
+    <file>images/icons/ic_folder_black_18dp_2x.png</file>
+    <file>images/icons/ic_group_add_white_24dp.png</file>
+    <file>images/icons/ic_high_quality_white_24dp.png</file>
+    <file>images/icons/ic_mic_off_white_24dp.png</file>
+    <file>images/icons/ic_pause_white_24dp.png</file>
+    <file>images/icons/ic_pause_white_100px.png</file>
+    <file>images/icons/ic_person_add_black_24dp_2x.png</file>
+    <file>images/icons/ic_person_add_white_24dp.png</file>
+    <file>images/icons/ic_phone_24px.svg</file>
+    <file>images/icons/ic_photo_camera_white_24dp_2x.png</file>
+    <file>images/icons/ic_search_black_18dp_2x.png</file>
+    <file>images/icons/ic_send_24px.svg</file>
+    <file>images/icons/ic_send_white_24dp.png</file>
+    <file>images/icons/ic_settings_white_48dp_2x.png</file>
+    <file>images/icons/ic_share_black_48dp_2x.png</file>
+    <file>images/icons/ic_video_call_24px.svg</file>
+    <file>images/icons/ic_videocam_off_white_24dp.png</file>
+    <file>images/icons/ic_videocam_white.png</file>
+    <file>images/icons/ic_voicemail_white_24dp_2x.png</file>
+    <file>images/icons/round-add-24px.svg</file>
+    <file>images/icons/round-arrow_drop_down-24px.svg</file>
+    <file>images/icons/round-arrow_drop_up-24px.svg</file>
+    <file>images/icons/round-arrow_right-24px.svg</file>
+    <file>images/icons/round-close-24px.svg</file>
+    <file>images/icons/round-edit-24px.svg</file>
+    <file>images/icons/round-folder-24px.svg</file>
+    <file>images/icons/round-remove_circle-24px.svg</file>
+    <file>images/icons/round-settings-24px.svg</file>
+    <file>images/icons/round-undo-24px.svg</file>
+    <file>web/chatview.css</file>
+    <file>web/chatview.html</file>
+    <file>web/chatview.js</file>
+    <file>web/linkify.js</file>
+    <file>web/linkify-html.js</file>
+    <file>web/linkify-string.js</file>
+    <file>web/qwebchannel.js</file>
+    <file>images/icons/round-check_circle-24px.svg</file>
+    <file>images/icons/round-error-24px.svg</file>
+    <file>images/icons/round-save_alt-24px.svg</file>
+    <file>images/jami_eclipse_spinner.gif</file>
+  </qresource>
 </RCC>
diff --git a/ring-client-windows.vcxproj b/ring-client-windows.vcxproj
index fbe4630c57eda4518da6fca7dc8a21ff1afcec1a..d350393b31e2eaa33e08104b181ae090a96d346d 100644
--- a/ring-client-windows.vcxproj
+++ b/ring-client-windows.vcxproj
@@ -251,6 +251,7 @@
     <ClCompile Include="messagewebpage.cpp" />
     <ClCompile Include="messagewebview.cpp" />
     <ClCompile Include="navwidget.cpp" />
+    <ClCompile Include="newwizardwidget.cpp" />
     <ClCompile Include="passworddialog.cpp" />
     <ClCompile Include="photoboothdialog.cpp" />
     <ClCompile Include="photoboothwidget.cpp" />
@@ -376,6 +377,12 @@
       <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release;$(QTDIR)\include\QtMultimedia;$(QTDIR)\include\QtMultimediaWidgets</IncludePath>
       <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_MULTIMEDIA_LIB;QT_MULTIMEDIAWIDGETS_LIB</Define>
     </QtMoc>
+    <QtMoc Include="newwizardwidget.h">
+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\ring-daemon\contrib\msvc\include;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\ring-lrc\src;$(ProjectDir)..\lrc\src;$(ProjectDir)winsparkle\include;$(ProjectDir)qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtWebEngineWidgets;$(QTDIR)\include\QtWebChannel;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>
+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>
+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\ring-daemon\contrib\msvc\include;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\ring-lrc\src;$(ProjectDir)..\lrc\src;$(ProjectDir)winsparkle\include;$(ProjectDir)qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtWebEngineWidgets;$(QTDIR)\include\QtWebChannel;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>
+      <Define Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">COMPILE_ONLY;_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>
+    </QtMoc>
     <ClInclude Include="pixbufmanipulator.h" />
     <QtMoc Include="ringbutton.h">
     </QtMoc>
@@ -558,6 +565,7 @@
     <QtUic Include="mainwindow.ui">
       <SubType>Designer</SubType>
     </QtUic>
+    <QtUic Include="newwizardwidget.ui" />
     <QtUic Include="passworddialog.ui">
       <SubType>Designer</SubType>
     </QtUic>
diff --git a/ring-client-windows.vcxproj.filters b/ring-client-windows.vcxproj.filters
index ef93bb3c1b9771daf4eb5119a87c4b156e377eae..71dc5d4cd57aae01c035040536398b42b7546896 100644
--- a/ring-client-windows.vcxproj.filters
+++ b/ring-client-windows.vcxproj.filters
@@ -195,6 +195,9 @@
     <ClCompile Include="linkdevwidget.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="newwizardwidget.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <QtMoc Include="aboutdialog.h">
@@ -326,6 +329,9 @@
     <QtMoc Include="linkdevwidget.h">
       <Filter>Header Files</Filter>
     </QtMoc>
+    <QtMoc Include="newwizardwidget.h">
+      <Filter>Header Files</Filter>
+    </QtMoc>
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="debug\moc_predefs.h.cbt">
@@ -611,6 +617,9 @@
     <QtUic Include="linkdevwidget.ui">
       <Filter>Form Files</Filter>
     </QtUic>
+    <QtUic Include="newwizardwidget.ui">
+      <Filter>Form Files</Filter>
+    </QtUic>
   </ItemGroup>
   <ItemGroup>
     <None Include="images\FontAwesome.otf">
diff --git a/settingswidget.cpp b/settingswidget.cpp
index d6a0dea2ce951819bc131d9899aeddb7e60a8b3c..13f8fcb641b383d231bfe183bd577c952a47db8f 100644
--- a/settingswidget.cpp
+++ b/settingswidget.cpp
@@ -153,6 +153,10 @@ SettingsWidget::navigated(bool to)
     ui->containerWidget->setVisible(to);
 }
 
+void SettingsWidget::updateCustomUI()
+{
+}
+
 void
 SettingsWidget::leaveSettingsSlot()
 {
diff --git a/settingswidget.h b/settingswidget.h
index 11961e7b2d3c26682271e039f7c6669eec3abc04..65870b4c97513a62ed6a19aa3cd3a4b7ae194301 100644
--- a/settingswidget.h
+++ b/settingswidget.h
@@ -53,6 +53,7 @@ public:
 
     // NavWidget
     virtual void navigated(bool to);
+    virtual void updateCustomUI();
 
 public slots:
     void updateSettings(int size);
diff --git a/stylesheet.css b/stylesheet.css
index c36e581cdd72defcf62a508acfa3704af8c5886c..6cbbf5f33ca33dd5bfc92044dea3c7ba1defa618 100644
--- a/stylesheet.css
+++ b/stylesheet.css
@@ -1,3 +1,9 @@
+QPushButton#takePhotoButton, QPushButton#importButton {
+    background-color: rgb(242, 242, 242);
+    border-radius: 5px;
+    border:solid 0px;
+}
+
 QPushButton#acceptButton{
     background-color: #4caf50;
     border-radius: 28px;
@@ -90,6 +96,16 @@ RingContactLineEdit{
     background-color: rgb(242, 242, 242);
 }
 
+.QLineEdit{
+    border-color: rgb(242, 242, 242);
+    border-radius: 15px;
+    border-width: 2px;
+    background-color: rgb(242, 242, 242);
+    padding-left: 4px;
+    padding-right: 4px;
+    height: 30px;
+}
+
 QScrollBar:vertical, QScrollBar:horizontal{
     background:white; width:0px;
 }
@@ -161,20 +177,10 @@ QListView#contactRequestList::item:hover, QListView#BannedList::item:hover {
     background-color: rgba(242, 242, 242, 255);
 }
 
-QWidget#sendIMWidget {
-	border-top: 2px solid rgb(240, 240, 240);
-}
-
 QWidget#messagingHeaderWidget{
 	border-bottom: 2px solid rgb(240, 240, 240);
 }
 
-QLineEdit#messageEdit, QLineEdit#imMessageEdit{
-    border: none;
-    background-color: rgb(255, 255, 255);
-	padding: 0px;
-}
-
 QLineEdit#numberBar{
     border-color: rgba(0, 192, 212, 0.6);
     border-radius: 5px;
@@ -311,17 +317,32 @@ QWidget#messagingPage, QWidget#contactRequestPage{
 }
 
 QPushButton#nextButton, QPushButton#playButton, QPushButton#clearHistoryButton, QPushButton#doTransferButton,
-QPushButton#photoButton, QPushButton#takePhotoButton, QPushButton#importButton,
+QPushButton#photoButton,
 QPushButton#existingPushButton, QPushButton#newAccountButton, QPushButton#previousButton, QPushButton#exportButton,
 QPushButton#cancelAddButton, QPushButton#exportOnRingButton, QPushButton#addDeviceButton, QPushButton#exportEndedOkButton,
 QPushButton#errorPushButton, QPushButton#registerButton, QPushButton#acceptCRButton, QPushButton#discardCRButton, QPushButton#deleteCancelBtn,
-QPushButton#dhtImportBtn, QPushButton#fileImportBtn, QPushButton#changePassBtn, QPushButton#confirmChangeBtn {
-    background-color: #109ede;
+QPushButton#dhtImportBtn, QPushButton#fileImportBtn, QPushButton#changePassBtn, QPushButton#confirmChangeBtn, QPushButton#backButton {
+    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
+                                stop: 0 #109ede, stop: 1.0 #2b5084);
     border: 0px;
+    border-radius: 15px;
+    height: 30px;
     color: white;
     font: 14px;
 }
 
+QPushButton#nextButton:disabled, QPushButton#playButton:disabled, QPushButton#clearHistoryButton:disabled,
+QPushButton#doTransferButton:disabled, QPushButton#photoButton:disabled,
+QPushButton#existingPushButton:disabled, QPushButton#newAccountButton:disabled, QPushButton#previousButton:disabled,
+QPushButton#exportButton:disabled, QPushButton#cancelAddButton:disabled, QPushButton#exportOnRingButton:disabled,
+QPushButton#addDeviceButton:disabled, QPushButton#exportEndedOkButton:disabled, QPushButton#errorPushButton:disabled,
+QPushButton#registerButton:disabled, QPushButton#acceptCRButton:disabled, QPushButton#discardCRButton:disabled,
+QPushButton#deleteCancelBtn:disabled, QPushButton#dhtImportBtn:disabled, QPushButton#fileImportBtn:disabled,
+QPushButton#changePassBtn:disabled, QPushButton#confirmChangeBtn:disabled, QPushButton#backButton:disabled {
+    background: rgba(242, 242, 242, 0.8);
+    color: grey;
+}
+
 QPushButton#blockCRButton, QPushButton#debanButton, QPushButton#deleteBanBtn,
 QPushButton#cancelChangeBtn {
     background-color: rgb(251, 72, 71);
@@ -332,14 +353,15 @@ QPushButton#cancelChangeBtn {
 
 QPushButton#nextButton:hover, QPushButton#playButton:hover, QPushButton#clearHistoryButton:hover,
 QPushButton#doTransferButton:hover, QPushButton#photoButton:hover,
-QPushButton#takePhotoButton:hover, QPushButton#importButton:hover,
 QPushButton#existingPushButton:hover, QPushButton#newAccountButton:hover, QPushButton#previousButton:hover,
 QPushButton#exportButton:hover, QPushButton#cancelAddButton:hover, QPushButton#exportOnRingButton:hover,
 QPushButton#addDeviceButton:hover, QPushButton#exportEndedOkButton:hover, QPushButton#errorPushButton:hover,
 QPushButton#registerButton:hover, QPushButton#acceptCRButton:hover, QPushButton#discardCRButton:hover,
 QPushButton#deleteCancelBtn:hover, QPushButton#dhtImportBtn:hover, QPushButton#fileImportBtn:hover,
-QPushButton#changePassBtn:hover, QPushButton#confirmChangeBtn:hover{
-    background-color: #2b4b7e;
+QPushButton#changePassBtn:hover, QPushButton#confirmChangeBtn:hover, QPushButton#backButton:hover {
+    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
+                                stop: 0 #2b4b7e, stop: 1.0 #001d4d);
+    color: white;
 }
 
 QPushButton#blockCRButton:hover, QPushButton#deleteAcceptBtn:hover, QPushButton#debanButton:hover,
@@ -349,14 +371,15 @@ QPushButton#deleteButton:hover, QPushButton#deleteBanBtn:hover, QPushButton#canc
 
 QPushButton#nextButton:pressed, QPushButton#playButton:pressed, QPushButton#clearHistoryButton:pressed,
 QPushButton#doTransferButton:pressed, QPushButton#photoButton:pressed,
-QPushButton#takePhotoButton:pressed, QPushButton#importButton:pressed,
 QPushButton#existingPushButton:pressed, QPushButton#newAccountButton:pressed, QPushButton#previousButton:pressed,
 QPushButton#exportButton:pressed, QPushButton#cancelAddButton:pressed, QPushButton#exportOnRingButton:pressed,
 QPushButton#addDeviceButton:pressed, QPushButton#exportEndedOkButton:pressed, QPushButton#errorPushButton:pressed,
 QPushButton#registerButton:pressed, QPushButton#acceptCRButton:pressed, QPushButton#discardCRButton:pressed,
 QPushButton#deleteCancelBtn:pressed, QPushButton#dhtImportBtn:pressed, QPushButton#fileImportBtn:pressed,
-QPushButton#changePassBtn:pressed, QPushButton#confirmChangeBtn:pressed {
-    background-color: #2b4b7e;
+QPushButton#changePassBtn:pressed, QPushButton#confirmChangeBtn:pressed, QPushButton#backButton:pressed {
+    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
+                                stop: 0 #043161, stop: 1.0 #00113f);
+    color: white;
 }
 
 QPushButton#blockCRButton:pressed, QPushButton#deleteAcceptBtn:pressed, QPushButton#debanButton:pressed,
@@ -364,26 +387,6 @@ QPushButton#deleteBanBtn:pressed, QPushButton#cancelChangeBtn:pressed{
     background-color: rgb(219, 55, 54);
 }
 
-QLineEdit#usernameEdit:enabled, QLineEdit#passwordEdit:enabled, QLineEdit#confirmPasswordEdit:enabled,
-QLineEdit#pinEdit:enabled, QLineEdit#fullNameEdit:enabled, QLineEdit#archivePasswordInput:enabled,
-QLineEdit#oldPasswordLineEdit:enabled, QLineEdit#newPassConfirmationLineEdit:enabled, QLineEdit#newPasswordLineEdit:enabled{
-    border-color: rgb(0, 192, 212);
-    border-radius: 5px;
-    border-width: 1px;
-    border-style: outset;
-    background-color: rgb(255, 255, 255);
-}
-
-QLineEdit#usernameEdit:disabled, QLineEdit#passwordEdit:disabled, QLineEdit#confirmPasswordEdit:disabled,
-QLineEdit#pinEdit:disabled, QLineEdit#fullNameEdit:disabled, QLineEdit#archivePasswordInput:disabled,
-QLineEdit#oldPasswordLineEdit:disabled{
-    border-color: rgb(159, 157, 154);
-    border-radius: 5px;
-    border-width: 1px;
-    border-style: outset;
-    background-color: rgb(239, 235, 231);
-}
-
 QComboBox{
     background: transparent;
     border-radius: 0px;
@@ -408,7 +411,7 @@ QComboBox::down-arrow{
 }
 
 QComboBox::drop-down{
-    border-radius: 0px;
+    border: 0;
     width: 36px;
 }
 
diff --git a/utils.cpp b/utils.cpp
index 1e6923b8005d7302beba6a4b020af89bc8fec319..2931e3a785be3d13df9db4055a26d7af7b5fd6e9 100644
--- a/utils.cpp
+++ b/utils.cpp
@@ -414,4 +414,18 @@ Utils::QByteArrayFromFile(const QString& filename)
         qDebug() << "can't open file";
         return QByteArray();
     }
+}
+
+QPixmap
+Utils::generateTintedPixmap(const QString& filename, QColor color)
+{
+    QPixmap px(filename);
+    QImage tmpImage = px.toImage();
+    for (int y = 0; y < tmpImage.height(); y++) {
+        for (int x = 0; x < tmpImage.width(); x++) {
+            color.setAlpha(tmpImage.pixelColor(x, y).alpha());
+            tmpImage.setPixelColor(x, y, color);
+        }
+    }
+    return QPixmap::fromImage(tmpImage);
 }
\ No newline at end of file
diff --git a/utils.h b/utils.h
index c13abde9fdb75ed14fa5eab39aaf7476e1c38a23..5e6605200705438bd4f1b2fe07476dbdd917cd46 100644
--- a/utils.h
+++ b/utils.h
@@ -77,6 +77,7 @@ namespace Utils
     bool isContactValid(const std::string& contactUid, const lrc::api::ConversationModel& model);
     QImage conversationPhoto(const std::string& convUid, const lrc::api::account::Info& accountInfo);
     QByteArray QByteArrayFromFile(const QString& filename);
+    QPixmap generateTintedPixmap(const QString& filename, QColor color);
 
     template<typename E>
     constexpr inline typename std::enable_if<   std::is_enum<E>::value,