diff --git a/app/src/main/java/com/pbd/psi/ui/scan/ScanFragment.kt b/app/src/main/java/com/pbd/psi/ui/scan/ScanFragment.kt
index f34f6ec8913a7ca3854fa2bae9eb437ad3d4ec77..b190738136af2a772e7357e5ee0d263b67de59ca 100644
--- a/app/src/main/java/com/pbd/psi/ui/scan/ScanFragment.kt
+++ b/app/src/main/java/com/pbd/psi/ui/scan/ScanFragment.kt
@@ -2,14 +2,11 @@ package com.pbd.psi.ui.scan
 
 import android.Manifest
 import android.app.Activity
-import android.app.AlertDialog
 import android.content.Intent
 import android.graphics.BitmapFactory
 import android.graphics.drawable.BitmapDrawable
 import android.net.Uri
 import android.os.Bundle
-import android.os.Handler
-import android.os.Looper
 import android.provider.MediaStore
 import android.util.Log
 import android.view.LayoutInflater
@@ -22,6 +19,7 @@ import androidx.camera.core.ImageCapture
 import androidx.camera.core.Preview
 import androidx.camera.lifecycle.ProcessCameraProvider
 import androidx.core.content.ContextCompat
+import androidx.core.view.isVisible
 import androidx.fragment.app.Fragment
 import com.pbd.psi.databinding.FragmentScanBinding
 
@@ -65,6 +63,8 @@ class ScanFragment : Fragment() {
         permissionLauncher.launch(Manifest.permission.CAMERA)
 
         imageCapture = ImageCapture.Builder().build()
+        binding.sendButton?.isVisible = false
+        binding.retakeButton?.isVisible = false
 
         binding.scanButton?.setOnClickListener {
             previewMask()
@@ -74,6 +74,10 @@ class ScanFragment : Fragment() {
             openFileExplorer()
         }
 
+        binding.retakeButton?.setOnClickListener{
+            previewMask()
+        }
+
         return root
     }
 
@@ -86,6 +90,7 @@ class ScanFragment : Fragment() {
             val preview = Preview.Builder().build().also {
                     mPreview ->
                 if (!previewFrozen) {
+                    binding.scanView?.foreground = null
                     mPreview.setSurfaceProvider(binding.scanView?.surfaceProvider)
                 } else {
                     mPreview.setSurfaceProvider(null)
@@ -106,29 +111,19 @@ class ScanFragment : Fragment() {
     }
 
     private fun previewMask() {
-        binding.scanButton?.isEnabled = false
         previewFrozen = !previewFrozen
+        if (!previewFrozen) {
+            binding.scanButton?.isVisible= true
+            binding.uploadImage?.isVisible = true
+            binding.sendButton?.isVisible  = false
+            binding.retakeButton?.isVisible = false
+        } else {
+            binding.scanButton?.isVisible= false
+            binding.uploadImage?.isVisible = false
+            binding.sendButton?.isVisible  = true
+            binding.retakeButton?.isVisible = true
+        }
         startCamera()
-
-        Handler(Looper.getMainLooper()).postDelayed({
-            // TO DO: Add  modal
-            val builder: AlertDialog.Builder = AlertDialog.Builder(context)
-            builder
-                .setMessage("Do you want to retake the picture?")
-                .setPositiveButton("Yes") { dialog, which ->
-                    dialog.dismiss()
-                    binding.scanButton?.isEnabled = true
-                    previewFrozen = !previewFrozen
-                    startCamera()
-                }
-                .setNegativeButton("No") { dialog, which ->
-                    // TO DO : send a froze preview to the server as img form data
-                    dialog.dismiss()
-                }
-
-            val dialog: AlertDialog = builder.create()
-            dialog.show()
-        }, 1000)
     }
 
     private fun openFileExplorer() {
@@ -142,7 +137,8 @@ class ScanFragment : Fragment() {
                 val bitmap = BitmapFactory.decodeStream(inputStream)
                 if (bitmap != null) {
                     val drawable = BitmapDrawable(resources, bitmap)
-                    binding.scanView?.background = drawable
+                    binding.scanView?.foreground = drawable
+                    previewMask()
                 } else {
                     Toast.makeText(requireContext(), "Failed to decode image", Toast.LENGTH_SHORT).show()
                     Log.e("ScanFragment", "Failed to decode image")
diff --git a/app/src/main/res/drawable/retake_scan.png b/app/src/main/res/drawable/retake_scan.png
new file mode 100644
index 0000000000000000000000000000000000000000..d263141eeb9f84a4a7d68df0842a8ea18c92a9d0
Binary files /dev/null and b/app/src/main/res/drawable/retake_scan.png differ
diff --git a/app/src/main/res/drawable/send_button.png b/app/src/main/res/drawable/send_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7550f144d01931c7a1aa1f0408d0893bc42174e
Binary files /dev/null and b/app/src/main/res/drawable/send_button.png differ
diff --git a/app/src/main/res/layout-land/fragment_scan.xml b/app/src/main/res/layout-land/fragment_scan.xml
index 5b2efcc6216b43bf75aa9283bdb991bb63b97f5f..0893064ba83ed7abcbb086b5c75d7d0ae6ee2e47 100644
--- a/app/src/main/res/layout-land/fragment_scan.xml
+++ b/app/src/main/res/layout-land/fragment_scan.xml
@@ -52,23 +52,47 @@
         android:layout_width="50dip"
         android:layout_height="50dip"
         android:contentDescription="@string/upload_image"
+        app:layout_constraintStart_toEndOf="@id/scan_button"
+        app:layout_constraintTop_toBottomOf="@+id/guideline"/>
+
+    <ImageButton
+        android:id="@+id/scan_button"
+        android:layout_marginVertical="20dp"
+        android:layout_marginStart="10dp"
+        android:fontFamily="@font/montserrat"
+        android:gravity="center_horizontal"
+        android:background="@drawable/scan_button"
+        android:layout_width="50dip"
+        android:layout_height="50dip"
+        android:contentDescription="@string/upload_image"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/guideline"/>
 
-    <TextView
-        android:id="@+id/scan_description"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
+    <ImageButton
+        android:id="@+id/retake_button"
+        android:layout_marginVertical="20dp"
         android:layout_marginEnd="10dp"
         android:fontFamily="@font/montserrat"
         android:gravity="center_horizontal"
-        android:textSize="15sp"
-        android:textColor="@color/white"
-        android:textStyle="normal"
+        android:background="@drawable/retake_scan"
+        android:layout_width="50dip"
+        android:layout_height="50dip"
+        android:contentDescription="@string/upload_image"
+        app:layout_constraintEnd_toStartOf="@id/send_button"
+        app:layout_constraintTop_toBottomOf="@+id/guideline"/>
+
+    <ImageButton
+        android:id="@+id/send_button"
+        android:layout_marginVertical="20dp"
+        android:layout_marginEnd="10dp"
+        android:fontFamily="@font/montserrat"
+        android:gravity="center_horizontal"
+        android:background="@drawable/send_button"
+        android:layout_width="50dip"
+        android:layout_height="50dip"
+        android:contentDescription="@string/upload_image"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/guideline"
-        tools:text="@string/error_scan"/>
+        app:layout_constraintTop_toBottomOf="@+id/guideline"/>
 
     <FrameLayout
         android:id="@+id/frame_layout_camera"
diff --git a/app/src/main/res/layout/fragment_scan.xml b/app/src/main/res/layout/fragment_scan.xml
index 4c64d8b9e6a4fc27928dbf6257423abc60061c28..6cf56fc8d84369c1b1748359ca9cff81e4402aef 100644
--- a/app/src/main/res/layout/fragment_scan.xml
+++ b/app/src/main/res/layout/fragment_scan.xml
@@ -68,20 +68,31 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/guideline"/>
 
-    <TextView
-        android:id="@+id/scan_description"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
+    <ImageButton
+        android:id="@+id/retake_button"
+        android:layout_marginVertical="20dp"
+        android:layout_marginEnd="10dp"
+        android:fontFamily="@font/montserrat"
+        android:gravity="center_horizontal"
+        android:background="@drawable/retake_scan"
+        android:layout_width="50dip"
+        android:layout_height="50dip"
+        android:contentDescription="@string/upload_image"
+        app:layout_constraintEnd_toStartOf="@id/send_button"
+        app:layout_constraintTop_toBottomOf="@+id/guideline"/>
+
+    <ImageButton
+        android:id="@+id/send_button"
+        android:layout_marginVertical="20dp"
         android:layout_marginEnd="10dp"
         android:fontFamily="@font/montserrat"
         android:gravity="center_horizontal"
-        android:textSize="15sp"
-        android:textColor="@color/white"
-        android:textStyle="normal"
+        android:background="@drawable/send_button"
+        android:layout_width="50dip"
+        android:layout_height="50dip"
+        android:contentDescription="@string/upload_image"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/guideline"
-        tools:text="@string/error_scan"/>
+        app:layout_constraintTop_toBottomOf="@+id/guideline"/>
 
     <FrameLayout
         android:id="@+id/frame_layout_camera"