diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index f9f65929..92db5e42 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -193,6 +193,9 @@ dependencies {
 
     //Baseline Profile
     baselineProfile(project(":app:benchmark"))
+
+    //FilePickerSphere
+    implementation("com.github.Ruan625Br:FilePickerSphere:1.0.0")
 }
 
 
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b209527a..c9546b62 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -26,6 +26,7 @@
             android:requestRawExternalStorageAccess="true"
             android:supportsRtl="true"
             android:theme="@style/Theme.FileManager"
+            tools:replace="android:theme"
             tools:targetApi="31">
         <activity
                 android:name=".activity.SettingsActivity"
diff --git a/app/src/main/java/com/etb/filemanager/manager/adapter/FileModelAdapter.kt b/app/src/main/java/com/etb/filemanager/manager/adapter/FileModelAdapter.kt
index 987b148f..732f11fe 100644
--- a/app/src/main/java/com/etb/filemanager/manager/adapter/FileModelAdapter.kt
+++ b/app/src/main/java/com/etb/filemanager/manager/adapter/FileModelAdapter.kt
@@ -22,7 +22,7 @@ import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.request.RequestOptions
 import com.etb.filemanager.R
-import com.etb.filemanager.databinding.FileItemBinding
+import com.etb.filemanager.databinding.FileItemViewBinding
 import com.etb.filemanager.files.extensions.createShapeModelBasedOnCornerFamilyPreference
 import com.etb.filemanager.files.provider.archive.common.mime.MimeTypeUtil
 import com.etb.filemanager.files.util.FileUtil
@@ -161,7 +161,7 @@ class FileModelAdapter(
         }
     }
 
-    private fun applyStyle(binding: FileItemBinding) {
+    private fun applyStyle(binding: FileItemViewBinding) {
         if (Preferences.Interface.isEnabledRoundedCorners) {
             mContext.let { ctx ->
                 binding.itemFile.radius = ctx.getDimension(R.dimen.corner_radius_base)
@@ -177,7 +177,7 @@ class FileModelAdapter(
 
 
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder = ViewHolder(
-        FileItemBinding.inflate(parent.context.layoutInflater, parent, false)
+        FileItemViewBinding.inflate(parent.context.layoutInflater, parent, false)
     ).apply {
         applyStyle(binding)
         binding.itemFile.background = CheckableItemBackground.create(binding.itemFile.context)
@@ -246,7 +246,7 @@ class FileModelAdapter(
 
     }
 
-    private fun setVisibility(isDir: Boolean, mimeType: String?, binding: FileItemBinding) {
+    private fun setVisibility(isDir: Boolean, mimeType: String?, binding: FileItemViewBinding) {
         val isMedia = mimeType?.isMimeTypeMedia() ?: false
         val viewFileInformationOption = Preferences.Interface.viewFileInformationOption
         val colorPrimary = mContext.getColorByAttr(com.google.android.material.R.attr.colorPrimary)
@@ -289,7 +289,7 @@ class FileModelAdapter(
 
 
     private fun getIconByMimeType(
-        mimeType: String?, binding: FileItemBinding
+        mimeType: String?, binding: FileItemViewBinding
     ) {
         val icFile = AppCompatResources.getDrawable(mContext, R.drawable.file_generic_icon)
         val tint = getTintForIcons()
@@ -302,7 +302,7 @@ class FileModelAdapter(
 
     }
 
-    private fun loadImage(path: String, binding: FileItemBinding) {
+    private fun loadImage(path: String, binding: FileItemViewBinding) {
         val imageView = binding.iconFile
 
         binding.iconFile.clearColorFilter()
@@ -310,7 +310,7 @@ class FileModelAdapter(
             .override(50, 50).placeholder(R.drawable.ic_image).into(imageView)
     }
 
-    private fun loadImageFromDirectory(binding: FileItemBinding) {
+    private fun loadImageFromDirectory(binding: FileItemViewBinding) {
         val icFolder = AppCompatResources.getDrawable(mContext, R.drawable.ic_folder)!!
         icFolder.setTint(getTintForIcons())
         binding.iconFile.setColorFilter(getTintForIcons(), PorterDuff.Mode.SRC_IN)
@@ -335,7 +335,7 @@ class FileModelAdapter(
     }
 
 
-    class ViewHolder(val binding: FileItemBinding) : RecyclerView.ViewHolder(binding.root)
+    class ViewHolder(val binding: FileItemViewBinding) : RecyclerView.ViewHolder(binding.root)
 
     override fun clear() {
         super.clear()
diff --git a/app/src/main/java/com/etb/filemanager/settings/preference/BehaviorPreferences.kt b/app/src/main/java/com/etb/filemanager/settings/preference/BehaviorPreferences.kt
index 20ecc1b8..bf282c97 100644
--- a/app/src/main/java/com/etb/filemanager/settings/preference/BehaviorPreferences.kt
+++ b/app/src/main/java/com/etb/filemanager/settings/preference/BehaviorPreferences.kt
@@ -8,16 +8,18 @@
 package com.etb.filemanager.settings.preference
 
 import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.ViewGroup
 import androidx.preference.Preference
 import androidx.preference.SwitchPreferenceCompat
 import com.etb.filemanager.R
-import com.google.android.material.dialog.MaterialAlertDialogBuilder
-import com.google.android.material.textfield.TextInputEditText
-import java.io.File
-
-class BehaviorPreferences : PreferenceFragment(){
+import com.jn.filepickersphere.filelist.common.mime.MimeType
+import com.jn.filepickersphere.filepicker.FilePickerCallbacks
+import com.jn.filepickersphere.filepicker.FilePickerSphereManager
+import com.jn.filepickersphere.filepicker.style.FilePickerStyle
+import com.jn.filepickersphere.models.FileModel
+import com.jn.filepickersphere.models.FilePickerModel
+import com.jn.filepickersphere.models.PickOptions
+
+class BehaviorPreferences : PreferenceFragment() {
     override fun getTitle(): Int {
         return R.string.pref_behavior_title
     }
@@ -27,53 +29,73 @@ class BehaviorPreferences : PreferenceFragment(){
         preferenceManager.preferenceDataStore = SettingsDataStore()
 
 
-        val prefDefaultFolder = findPreference<Preference>("default_folder")
+        //Default folder
+        val prefDefaultFolder = findPreference<Preference>("default_folder")!!
         val currentDefaultFolder = Preferences.Behavior.defaultFolder
 
+        prefDefaultFolder.summary = currentDefaultFolder
+        prefDefaultFolder.setOnPreferenceClickListener { _ ->
 
-        //Default folder
-        prefDefaultFolder!!.summary = currentDefaultFolder
-        val inflater = LayoutInflater.from(requireContext())
-        val dialogView = inflater.inflate(R.layout.layout_basic_dialog, null)
-        val eInputEditText = dialogView.findViewById<TextInputEditText>(R.id.eInputEditText)
-
-        val title = requireContext().getString(R.string.pref_behavior_set_default_folder_title)
-        prefDefaultFolder.setOnPreferenceClickListener { preference ->
-            val parent = dialogView.parent as? ViewGroup
-            parent?.removeView(dialogView)
-            eInputEditText.setText(currentDefaultFolder)
-
-            MaterialAlertDialogBuilder(requireContext())
-                .setTitle(title)
-                .setView(dialogView)
-                .setCancelable(false)
-            .setPositiveButton(getString(R.string.set)) { _, _ ->
-                val enteredText = eInputEditText.text.toString()
-                val path = File(enteredText)
-                if (enteredText != currentDefaultFolder && path.exists()){
-                    preference.summary = enteredText
-                    Preferences.Behavior.defaultFolder = enteredText
-                }
-
-            }.setNegativeButton(R.string.dialog_cancel) { _, _ ->
-            }.show()
+            selectFolder {
+                Preferences.Behavior.defaultFolder = it
+                prefDefaultFolder.summary = it
+            }
             true
 
         }
 
         //Select file long click
-
-        val switchSelectFileLongClick = findPreference<SwitchPreferenceCompat>("select_file_long_click")
+        val switchSelectFileLongClick =
+            findPreference<SwitchPreferenceCompat>("select_file_long_click")
         val selectFileLongClick = Preferences.Behavior.selectFileLongClick
 
         switchSelectFileLongClick?.isChecked = selectFileLongClick
 
         //Show fast scroll
-        val swShowFastScroll = findPreference<SwitchPreferenceCompat>(getString(R.string.pref_key_show_fast_scroll))
+        val swShowFastScroll =
+            findPreference<SwitchPreferenceCompat>(getString(R.string.pref_key_show_fast_scroll))
         val isFastScrollEnabled = Preferences.Behavior.isFastScrollEnabled
         swShowFastScroll?.isChecked = isFastScrollEnabled
 
 
     }
+
+    private fun selectFolder(onSelectedFolder: (String) -> Unit) {
+
+        val defaultPath =  requireContext().getString(R.string.default_pref_default_folder)
+        val model = FilePickerModel(
+            PickOptions(
+                mimeType = listOf(MimeType.DIRECTORY),
+                localOnly = false,
+                maxSelection = null
+            )
+        )
+        FilePickerSphereManager(
+            context = requireContext(), filePickerCallbacks = object : FilePickerCallbacks {
+                override fun onAllFilesSelected(files: List<FileModel>) {
+                    val path = if (files.isEmpty()) defaultPath else files.first().path
+                    onSelectedFolder(path)
+                }
+
+                override fun onFileSelectionChanged(file: FileModel, selected: Boolean) {
+
+                }
+
+                override fun onOpenFile(file: FileModel) {
+
+                }
+
+                override fun onSelectedFilesChanged(files: List<FileModel>) {
+
+                }
+
+            }, filePickerModel = model
+        ).style(
+            FilePickerStyle(
+                appTheme = Preferences.Appearance.getAppTheme()
+            )
+        ).picker()
+    }
+
 }
 
diff --git a/app/src/main/res/layout/file_item.xml b/app/src/main/res/layout/file_item_view.xml
similarity index 100%
rename from app/src/main/res/layout/file_item.xml
rename to app/src/main/res/layout/file_item_view.xml
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 33844b1b..45823f37 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -36,7 +36,7 @@
         <androidx.recyclerview.widget.RecyclerView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                tools:listitem="@layout/file_item"
+                tools:listitem="@layout/file_item_view"
                 app:layout_behavior="@string/appbar_scrolling_view_behavior"
                 android:id="@+id/recyclerView"
                />
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 8baeca4f..7e9a1361 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -10,6 +10,7 @@ dependencyResolutionManagement {
     repositories {
         google()
         mavenCentral()
+        maven("https://jitpack.io")
     }
 }
 rootProject.name = "File Manager Sphere"