diff --git a/src/accountadapter.cpp b/src/accountadapter.cpp
index af072ac8218a64f6783c770c6bc9b33ec59a1cfb..fff2dc6cadebc918fdc1cdc9729159c0da4ceb09 100644
--- a/src/accountadapter.cpp
+++ b/src/accountadapter.cpp
@@ -238,16 +238,16 @@ AccountAdapter::stopAudioMeter(bool async)
 }
 
 void
-AccountAdapter::startPreviewing(bool force)
+AccountAdapter::startPreviewing(bool force, bool async)
 {
-    LRCInstance::renderer()->startPreviewing(force);
+    LRCInstance::renderer()->startPreviewing(force, async);
 }
 
 void
-AccountAdapter::stopPreviewing()
+AccountAdapter::stopPreviewing(bool async)
 {
     if (!LRCInstance::hasVideoCall() && LRCInstance::renderer()->isPreviewing()) {
-        LRCInstance::renderer()->stopPreviewing();
+        LRCInstance::renderer()->stopPreviewing(async);
     }
 }
 
@@ -263,12 +263,6 @@ AccountAdapter::isPreviewing()
     return LRCInstance::renderer()->isPreviewing();
 }
 
-RenderManager *
-AccountAdapter::getRenderManager()
-{
-    return LRCInstance::renderer();
-}
-
 void
 AccountAdapter::setCurrAccDisplayName(QString text)
 {
@@ -319,24 +313,6 @@ AccountAdapter::setArchivePasswordAsync(const QString &accountID, const QString
     });
 }
 
-lrc::api::NewAccountModel *
-AccountAdapter::accoundModel()
-{
-    return &(LRCInstance::accountModel());
-}
-
-lrc::api::AVModel *
-AccountAdapter::avModel()
-{
-    return &(LRCInstance::avModel());
-}
-
-lrc::api::DataTransferModel *
-AccountAdapter::dataTransferModel()
-{
-    return &(LRCInstance::dataTransferModel());
-}
-
 void
 AccountAdapter::settingsNeverShowAgain(bool checked)
 {
diff --git a/src/accountadapter.h b/src/accountadapter.h
index 10e4fa9f6984f5e413b3fcf1e4268fef7699dcdd..234489575ed69aab4b14b27348a9098568bc0d1f 100644
--- a/src/accountadapter.h
+++ b/src/accountadapter.h
@@ -74,22 +74,14 @@ public:
     Q_INVOKABLE bool savePassword(QString accountId, QString oldPassword, QString newPassword);
     Q_INVOKABLE void startAudioMeter(bool async);
     Q_INVOKABLE void stopAudioMeter(bool async);
-    Q_INVOKABLE void startPreviewing(bool force);
-    Q_INVOKABLE void stopPreviewing();
+    Q_INVOKABLE void startPreviewing(bool force = false, bool async = true);
+    Q_INVOKABLE void stopPreviewing(bool async = true);
     Q_INVOKABLE bool hasVideoCall();
     Q_INVOKABLE bool isPreviewing();
     Q_INVOKABLE void setCurrAccDisplayName(QString text);
     Q_INVOKABLE void setSelectedAccountId(QString accountId = {});
     Q_INVOKABLE void setSelectedConvId(QString accountId = {});
 
-    /*
-     * lrc model instances getter
-     */
-    Q_INVOKABLE lrc::api::NewAccountModel *accoundModel();
-    Q_INVOKABLE lrc::api::AVModel *avModel();
-    Q_INVOKABLE lrc::api::DataTransferModel *dataTransferModel();
-
-    Q_INVOKABLE RenderManager *getRenderManager();
 signals:
 
     /*
diff --git a/src/settingsview/components/AvSettingPage.qml b/src/settingsview/components/AvSettingPage.qml
index 64a9f1cdc16a4cc3e16417b3842710bd9d748c00..99798446fb95ee98ae439eb2eb5988fb3bb9b05e 100644
--- a/src/settingsview/components/AvSettingPage.qml
+++ b/src/settingsview/components/AvSettingPage.qml
@@ -103,13 +103,13 @@ Rectangle {
         } catch(err){console.warn("Exception: " + err.message)}
     }
 
-    function startPreviewing(force = false){
-        ClientWrapper.accountAdaptor.startPreviewing(force)
+    function startPreviewing(force = false, async = true){
+        ClientWrapper.accountAdaptor.startPreviewing(force, async)
         previewAvailable = true
     }
 
-    function stopPreviewing(){
-        ClientWrapper.accountAdaptor.stopPreviewing()
+    function stopPreviewing(async = true){
+        ClientWrapper.accountAdaptor.stopPreviewing(async)
     }
 
     function startAudioMeter(async = true){
@@ -130,7 +130,7 @@ Rectangle {
     }
 
     function slotSetHardwareAccel(state){
-        ClientWrapper.accountAdaptor.avModel().setHardwareAcceleration(state)
+        ClientWrapper.avmodel.setHardwareAcceleration(state)
         startPreviewing(true)
     }
 
diff --git a/src/settingsview/components/CurrentAccountSettingsScrollPage.qml b/src/settingsview/components/CurrentAccountSettingsScrollPage.qml
index d2847d04a27a307b1d22d8852cf5254d55877e71..f4fc285006998f6f029fa6a681c8f32303d22137 100644
--- a/src/settingsview/components/CurrentAccountSettingsScrollPage.qml
+++ b/src/settingsview/components/CurrentAccountSettingsScrollPage.qml
@@ -261,7 +261,7 @@ Rectangle {
                 return
             } else {
                 if (exportPath.length > 0) {
-                    var isSuccessful = ClientWrapper.accountAdaptor.accoundModel().exportToFile(ClientWrapper.utilsAdaptor.getCurrAccId(), exportPath,"")
+                    var isSuccessful = ClientWrapper.accountModel.exportToFile(ClientWrapper.utilsAdaptor.getCurrAccId(), exportPath,"")
                     var title = isSuccessful ? qsTr("Success") : qsTr("Error")
                     var iconMode = isSuccessful ? StandardIcon.Information : StandardIcon.Critical
                     var info = isSuccessful ? qsTr("Export Successful") : qsTr("Export Failed")
diff --git a/src/settingsview/components/GeneralSettingsPage.qml b/src/settingsview/components/GeneralSettingsPage.qml
index 412612f9e20654dec70454890a553b570912fefd..8a7847a74f0aa39733d14fb5f29068776dbb7a62 100644
--- a/src/settingsview/components/GeneralSettingsPage.qml
+++ b/src/settingsview/components/GeneralSettingsPage.qml
@@ -145,7 +145,6 @@ Rectangle {
     property string downloadPath: ClientWrapper.settingsAdaptor.getDir_Download()
 
     // recording
-    //property AVModel avmodel: ClientWrapper.accountAdaptor.avModel()
     property string recordPath: ClientWrapper.settingsAdaptor.getDir_Document()
 
     property int preferredColumnWidth : generalSettingsScrollView.width / 2 - 50