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 af18c93ccd884569aff3e8ee6bfcd56c6d8b380f..cb29d0dc5fa648c9f9f2bc33da1cd9b2b0c0b27c 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
@@ -76,7 +76,18 @@ class GameFragment : Fragment() {
     * Displays the next scrambled word.
     */
     private fun onSubmitWord() {
-
+        val playerWord = binding.textInputEditText.text.toString()
+
+        if (viewModel.isUserWordCorrect(playerWord)) {
+            setErrorTextField(false)
+            if (viewModel.nextWord()) {
+                updateNextWordOnScreen()
+            } else {
+                showFinalScoreDialog()
+            }
+        } else {
+            setErrorTextField(true)
+        }
     }
 
     /*
diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt
index dcde4b3092f4afc0c66332150c95c2d2aacc4711..69cdfd0a7c720474ce3ea8db613152d016c3fc0a 100644
--- a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt
+++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt
@@ -50,4 +50,17 @@ class GameViewModel: ViewModel() {
         } else false
     }
 
+    private fun increaseScore() {
+        _score += SCORE_INCREASE
+    }
+
+    fun isUserWordCorrect(playerWord: String): Boolean {
+        if (playerWord.equals(currentWord, true)) {
+            increaseScore()
+            return true
+        }
+        return false
+    }
+
+
 }
\ No newline at end of file