diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt
index 45c4dc7c99588b7977353246b2af67307e80401c..4493614d3aa2576d771a630d40391674cbc84963 100644
--- a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt
+++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt
@@ -68,21 +68,6 @@ class GameFragment : Fragment() {
         // Setup a click listener for the Submit and Skip buttons.
         binding.submit.setOnClickListener { onSubmitWord() }
         binding.skip.setOnClickListener { onSkipWord() }
-        // Update the UI
-
-        // Observe the scrambledCharArray LiveData, passing in the LifecycleOwner and the observer.
-        viewModel.currentScrambledWord.observe(viewLifecycleOwner) {
-                newWord -> binding.textViewUnscrambledWord.text = newWord
-        }
-        viewModel.currentWordCount.observe(viewLifecycleOwner
-        ) { newWordCount ->
-            binding.wordCount.text =
-                getString(R.string.word_count, newWordCount, MAX_NO_OF_WORDS)
-        }
-        viewModel.score.observe(viewLifecycleOwner
-        ) { newScore ->
-            binding.score.text = getString(R.string.score, newScore)
-        }
         // Specify the fragment view as the lifecycle owner of the binding.
         // This is used so that the binding can observe LiveData updates
         binding.lifecycleOwner = viewLifecycleOwner
diff --git a/app/src/main/res/layout/game_fragment.xml b/app/src/main/res/layout/game_fragment.xml
index a30f290310054861d719d8961431732f4a288718..762363279d4d5f5563714c0f29248da98bb124b1 100644
--- a/app/src/main/res/layout/game_fragment.xml
+++ b/app/src/main/res/layout/game_fragment.xml
@@ -81,13 +81,15 @@
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/word_count"
+                android:text="@{gameViewModel.currentScrambledWord}"
                 tools:text="Scramble word" />
 
+
             <TextView
                 android:id="@+id/word_count"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="@string/word_count"
+                android:text="@{@string/word_count(gameViewModel.currentWordCount, maxNoOfWords)}"
                 android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
                 app:layout_constraintBottom_toTopOf="@+id/textView_unscrambled_word"
                 app:layout_constraintStart_toStartOf="parent"
@@ -98,7 +100,7 @@
                 android:id="@+id/score"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="@string/score"
+                android:text="@{@string/score(gameViewModel.score)}"
                 android:textAllCaps="true"
                 android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
                 app:layout_constraintEnd_toEndOf="parent"