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 e9ee27f86102090578d40264fc7cd8437d10cc98..45c4dc7c99588b7977353246b2af67307e80401c 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
@@ -62,7 +62,9 @@ class GameFragment : Fragment() {
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
+        binding.gameViewModel = viewModel
 
+        binding.maxNoOfWords = MAX_NO_OF_WORDS
         // Setup a click listener for the Submit and Skip buttons.
         binding.submit.setOnClickListener { onSubmitWord() }
         binding.skip.setOnClickListener { onSkipWord() }
@@ -81,6 +83,9 @@ class GameFragment : Fragment() {
         ) { 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 e9629ff22a420e375691a1ec57189651eb722ba9..a30f290310054861d719d8961431732f4a288718 100644
--- a/app/src/main/res/layout/game_fragment.xml
+++ b/app/src/main/res/layout/game_fragment.xml
@@ -19,7 +19,12 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <data>
-
+        <variable
+            name="gameViewModel"
+            type="com.example.android.unscramble.ui.game.GameViewModel" />
+        <variable
+            name="maxNoOfWords"
+            type="int" />
     </data>
 
     <ScrollView