diff --git a/app/src/main/java/com/example/android/marsphotos/overview/PhotoGridAdapter.kt b/app/src/main/java/com/example/android/marsphotos/overview/PhotoGridAdapter.kt
new file mode 100644
index 0000000000000000000000000000000000000000..b63d5f4379d249dfe158f7c902be301d1baa18f3
--- /dev/null
+++ b/app/src/main/java/com/example/android/marsphotos/overview/PhotoGridAdapter.kt
@@ -0,0 +1,42 @@
+package com.example.android.marsphotos.overview
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.DiffUtil
+import androidx.recyclerview.widget.ListAdapter
+import androidx.recyclerview.widget.RecyclerView
+import com.example.android.marsphotos.databinding.GridViewItemBinding
+import com.example.android.marsphotos.network.MarsPhoto
+
+class PhotoGridAdapter : ListAdapter<MarsPhoto,
+        PhotoGridAdapter.MarsPhotoViewHolder>(MarsPhotoViewHolder) {
+    class MarsPhotoViewHolder(private var binding:
+                              GridViewItemBinding
+    ):
+        RecyclerView.ViewHolder(binding.root) {
+        fun bind(MarsPhoto: MarsPhoto) {
+            binding.photo = MarsPhoto
+            binding.executePendingBindings()
+        }
+    }
+
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PhotoGridAdapter.MarsPhotoViewHolder {
+        return MarsPhotoViewHolder(GridViewItemBinding.inflate(
+            LayoutInflater.from(parent.context)))
+    }
+
+    override fun onBindViewHolder(holder: PhotoGridAdapter.MarsPhotoViewHolder, position: Int) {
+        val marsPhoto = getItem(position)
+        holder.bind(marsPhoto)
+    }
+
+    companion object DiffCallback : DiffUtil.ItemCallback<MarsPhoto>() {
+        override fun areItemsTheSame(oldItem: MarsPhoto, newItem: MarsPhoto): Boolean {
+            return oldItem.id == newItem.id
+        }
+
+        override fun areContentsTheSame(oldItem: MarsPhoto, newItem: MarsPhoto): Boolean {
+            return oldItem.imgSrcUrl == newItem.imgSrcUrl
+        }
+    }
+}
\ No newline at end of file