diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.pdf b/BlankProjectTemplate/Doc/Design/MG/MG.pdf
index 20a9a1b28755b029d9d0f5f534818feee4f89ce5..702db988bc83daa8b5cf77dfbdc2a562bf5d3c34 100644
Binary files a/BlankProjectTemplate/Doc/Design/MG/MG.pdf and b/BlankProjectTemplate/Doc/Design/MG/MG.pdf differ
diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.tex b/BlankProjectTemplate/Doc/Design/MG/MG.tex
index f4da5fb78db3748d1c9c5a9c97b7658bba2e1749..3d4a11d1008c653d2a08d223085d31b2126cf042 100644
--- a/BlankProjectTemplate/Doc/Design/MG/MG.tex
+++ b/BlankProjectTemplate/Doc/Design/MG/MG.tex
@@ -146,26 +146,24 @@ change.
 \begin{description}
 \item[\refstepcounter{acnum} \actheacnum \label{acHardware}:] The specific
   hardware on which the software is running.
-\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The format of the
-  initial input data.
-\item ...
+\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The Operating System of which the software interfaces with.
+\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The new High Score after any previous record is broken.
+\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The speed of the snake when the user changes the difficulty level.
+\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] Storing the score to the text file after each game is played.
+\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The theme of the playground is changed whenever the user decides changes the theme mode.
+\item[\refstepcounter{acnum} \actheacnum \label{acInput}:]Default settings for inputs.
+
 \end{description}
 
 \subsection{Unlikely Changes} \label{SecUchange}
 
-The module design should be as general as possible. However, a general system is
-more complex. Sometimes this complexity is not necessary. Fixing some design
-decisions at the system architecture stage can simplify the software design. If
-these decision should later need to be changed, then many parts of the design
-will potentially need to be modified. Hence, it is not intended that these
-decisions will be changed.
 
 \begin{description}
 \item[\refstepcounter{ucnum} \uctheucnum \label{ucIO}:] Input/Output devices
-  (Input: File and/or Keyboard, Output: File, Memory, and/or Screen).
-\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be
-  a source of input data external to the software.
-\item ...
+  (The system assumes mouse, keyboard and screen are available).
+\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] The snake is responsive to the directions button under any circumstances.
+\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] The goal of the system: To provide user with entertainment and a fun game to play. 
+\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be a source of input data external to the software.
 \end{description}
 
 \section{Module Hierarchy} \label{SecMH}
@@ -177,7 +175,11 @@ actually be implemented.
 
 \begin{description}
 \item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Hardware-Hiding Module
-\item ...
+\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Input Format Module
+\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Snake Module
+\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Food Module
+\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Themes Module
+\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Software Design Module
 \end{description}
 
 
@@ -191,19 +193,13 @@ actually be implemented.
 {Hardware-Hiding Module} & ~ \\
 \midrule
 
-\multirow{7}{0.3\textwidth}{Behaviour-Hiding Module} & ?\\
-& ?\\
-& ?\\
-& ?\\
-& ?\\
-& ?\\
-& ?\\ 
-& ?\\
+\multirow{4}{0.3\textwidth}{Behaviour-Hiding Module} &  Input Format Module\\
+& Snake Module\\
+& Food Module\\
+& Themes Module\\
 \midrule
 
-\multirow{3}{0.3\textwidth}{Software Decision Module} & {?}\\
-& ?\\
-& ?\\
+\multirow{1}{0.3\textwidth}{Software Decision Module} & HighScore Module\\
 \bottomrule
 
 \end{tabular}
@@ -251,15 +247,14 @@ that the module is not a leaf and will not have to be implemented. Whether or
 not this module is implemented depends on the programming language
 selected.
 
-\subsection{Hardware Hiding Modules (\mref{mHH})}
+\subsection{Hardware Hiding Modules }
 
 \begin{description}
-\item[Secrets:]The data structure and algorithm used to implement the virtual
-  hardware.
-\item[Services:]Serves as a virtual hardware used by the rest of the
+\item[Secrets:] The implementation of buttons and mouse and displaying game on screen.
+\item[Services:] Serves as a virtual hardware used by the rest of the
   system. This module provides the interface between the hardware and the
-  software. So, the system can use it to display outputs or to accept inputs.
-\item[Implemented By:] OS
+  software. So, the system can take inputs from the keyboard and mouse, and then further output it on the screen.
+\item[Implemented By:] Pygame library and OS
 \end{description}
 
 \subsection{Behaviour-Hiding Module}