diff --git a/app/src/main/java/com/mhn/bondoman/ui/settings/SettingsFragment.kt b/app/src/main/java/com/mhn/bondoman/ui/settings/SettingsFragment.kt
index d1c9b6109af96181e068eb402a4785a59f1ea466..ba286c31b63b97cac76be16e185f692b3294a514 100644
--- a/app/src/main/java/com/mhn/bondoman/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/mhn/bondoman/ui/settings/SettingsFragment.kt
@@ -21,6 +21,18 @@ class SettingsFragment : Fragment() {
     }
 
     private lateinit var viewModel: SettingsViewModel
+    private val titles: MutableList<String> = mutableListOf()
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        titles.apply {
+            add("Food")
+            add("Drink")
+            add("Apparel")
+            add("Candi Prambanan")
+            add("Sepuh WBD")
+        }
+    }
 
     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?,
@@ -41,6 +53,7 @@ class SettingsFragment : Fragment() {
             Intent().also {
                 it.setAction("com.mhn.bondoman.RANDOMIZE_TRANSACTION")
                 it.setPackage(requireContext().packageName)
+                it.putExtra("selectedTitle", titles.random())
                 requireContext().sendBroadcast(it)
             }
         }
diff --git a/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAdd.kt b/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAdd.kt
index 2d3a9a0f719f752b3d52283d84ffe8542c7b6e7a..2cda3773a4ffac32f6cddeac50e4a26f2397b347 100644
--- a/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAdd.kt
+++ b/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAdd.kt
@@ -1,8 +1,11 @@
 package com.mhn.bondoman.ui.transactions
 
 import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
 import android.content.IntentFilter
 import android.os.Bundle
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -13,17 +16,13 @@ import android.widget.Toast
 import androidx.core.content.ContextCompat
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
 import androidx.navigation.findNavController
 import com.google.android.material.textfield.TextInputEditText
 import com.mhn.bondoman.R
-import com.mhn.bondoman.database.AppDatabase
 import com.mhn.bondoman.database.KeyStoreManager
 import com.mhn.bondoman.database.Transaction
 import com.mhn.bondoman.databinding.FragmentAddTransactionBinding
 import com.mhn.bondoman.utils.LocationAdapter
-import com.mhn.bondoman.utils.RandomizeReceiver
-import kotlinx.coroutines.launch
 import java.time.LocalDate
 
 class TransactionAdd : Fragment() {
@@ -37,8 +36,9 @@ class TransactionAdd : Fragment() {
     private lateinit var addButton: Button
     private lateinit var gpsService: LocationAdapter
     private lateinit var transactionLocation: String
-    private lateinit var broadcastReceiver: RandomizeReceiver
+    private lateinit var broadcastReceiver: BroadcastReceiver
     private lateinit var viewModel: TransactionsViewModel
+    private lateinit var taViewModel: TransactionAddViewModel
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -46,6 +46,8 @@ class TransactionAdd : Fragment() {
             requireActivity(),
             TransactionsViewModel.FACTORY
         )[TransactionsViewModel::class.java]
+
+        taViewModel = ViewModelProvider(requireActivity())[TransactionAddViewModel::class.java]
     }
 
     override fun onCreateView(
@@ -55,8 +57,6 @@ class TransactionAdd : Fragment() {
     ): View {
         _binding = FragmentAddTransactionBinding.inflate(inflater, container, false)
 
-        broadcastReceiver = RandomizeReceiver.getInstance()
-
         gpsService = LocationAdapter.getInstance(requireActivity())
 
         etTitle = binding.etTitle
@@ -117,7 +117,7 @@ class TransactionAdd : Fragment() {
                 transactionLocation = gpsService.transformToReadable(location)
                 etLocation.setText(transactionLocation)
             }
-            binding.etTitle.setText(broadcastReceiver.selectedTitle)
+            etTitle.setText(taViewModel.getTitle())
         } catch (e: Exception) {
             Toast.makeText(requireContext(), "Please allow location", Toast.LENGTH_SHORT).show()
         }
@@ -125,7 +125,13 @@ class TransactionAdd : Fragment() {
 
     override fun onResume() {
         super.onResume()
-        broadcastReceiver = RandomizeReceiver.getInstance()
+        broadcastReceiver = object : BroadcastReceiver() {
+            override fun onReceive(context: Context?, intent: Intent?) {
+                val selectedTitle = intent?.getStringExtra("selectedTitle")
+                taViewModel.setTitle(selectedTitle!!)
+                Log.d("RANDOMIZE", taViewModel.getTitle())
+            }
+        }
         val filter = IntentFilter("com.mhn.bondoman.RANDOMIZE_TRANSACTION")
         val listenToBroadcastsFromOtherApps = false
         val receiverFlags = if (listenToBroadcastsFromOtherApps) {
@@ -135,4 +141,9 @@ class TransactionAdd : Fragment() {
         }
         ContextCompat.registerReceiver(requireContext(), broadcastReceiver, filter, receiverFlags)
     }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        taViewModel.setTitle("")
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAddViewModel.kt b/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAddViewModel.kt
new file mode 100644
index 0000000000000000000000000000000000000000..76aa3726d8bb8106930217760ed15982ba8e4488
--- /dev/null
+++ b/app/src/main/java/com/mhn/bondoman/ui/transactions/TransactionAddViewModel.kt
@@ -0,0 +1,16 @@
+package com.mhn.bondoman.ui.transactions
+
+import androidx.lifecycle.ViewModel
+
+class TransactionAddViewModel: ViewModel() {
+
+    private var title: String = ""
+
+    fun setTitle(title: String) {
+        this@TransactionAddViewModel.title = title
+    }
+
+    fun getTitle() : String {
+        return title
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/mhn/bondoman/utils/RandomizeReceiver.kt b/app/src/main/java/com/mhn/bondoman/utils/RandomizeReceiver.kt
deleted file mode 100644
index 60e67e7237f13beec2e69f54eebcd11c5a52499d..0000000000000000000000000000000000000000
--- a/app/src/main/java/com/mhn/bondoman/utils/RandomizeReceiver.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.mhn.bondoman.utils
-
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import android.widget.Toast
-
-class RandomizeReceiver: BroadcastReceiver() {
-
-    companion object {
-        @Volatile
-        private var INSTANCE: RandomizeReceiver? = null
-
-        fun getInstance(): RandomizeReceiver{
-            if(INSTANCE == null){
-                INSTANCE = RandomizeReceiver()
-            }
-            return INSTANCE!!
-        }
-    }
-
-    private val titles: MutableList<String> = mutableListOf()
-    private var _selectedTitle = ""
-    val selectedTitle get() = _selectedTitle
-    init {
-        titles.apply {
-            add("Food")
-            add("Drink")
-            add("Apparel")
-            add("Candi Prambanan")
-            add("Sepuh WBD")
-        }
-    }
-    override fun onReceive(context: Context?, intent: Intent?) {
-        val selectedTitle = titles.random()
-        _selectedTitle = selectedTitle
-    }
-}
\ No newline at end of file