diff --git a/README.md b/README.md
index 8f069c514ef5489a49bcdc8339f5da3c86d5022c..45a05c4d49cbd3785651a2545d0bea44942201fa 100644
--- a/README.md
+++ b/README.md
@@ -32,42 +32,42 @@ Coursework:
 
 ### Task 1:  a RPN calculator in Python.
 * *RPN stands for reverse Polish Notation. RPN is postfix notation meaning the operators succeeds the operands.
-* ***stackClass.py*** A simple class to create a stack datatype within python. Contains a few error checking validation build into functions to help with the flow of the calculator program. The validation is used to prevent the user from performing actions or calculations that are not valid. The validation simply tells returns the current state of the stack. For example if the stack is empty and a `pop()` is called it will return **False** ![image](src/screenshot1.PNG)
-* ***sy.py*** A provided shunting yard algorithm. Takes input string and returns postfix. ![image](src/screenshot2.PNG)
+* ***stackClass.py*** A simple class to create a stack datatype within python. Contains a few error checking validation build into functions to help with the flow of the calculator program. The validation is used to prevent the user from performing actions or calculations that are not valid. The validation simply tells returns the current state of the stack. For example if the stack is empty and a `pop()` is called it will return **False**  <br />![image](src/screenshot1.PNG)
+* ***sy.py*** A provided shunting yard algorithm. Takes input string and returns postfix.  <br />![image](src/screenshot2.PNG)
 * ***rpn.py*** contains rpn_eval a Reverse Polish Notation Evaluator 
-  * **def rpn_eval(tokens,stack)** Takes a string of expressions **+,-,*,/**  `pop()`'s left and right value from the stack and applies the first expression and then `push(value)`'s the value back onto the stack thus making calculations. ![image](src/screenshot3.PNG)
+  * **def rpn_eval(tokens,stack)** Takes a string of expressions **+,-,*,/**  `pop()`'s left and right value from the stack and applies the first expression and then `push(value)`'s the value back onto the stack thus making calculations. <br />![image](src/screenshot3.PNG)
 ### Task 2: Hardware interface.
 * The calculator hardware is made up of three sub components. We have the *raspberry pi zero w* it self, this connects the components together and makes the calulations. The keypad makes up the second component and the OLED screen makes up the third component. There are some additional features I have added but these will be discussed later on. This section is only relevant to the required components. 
-* ***The raspberry pi zero w*** This device is responsible for communicating to the other components. It also is responsible for the processing of *Task 1:* ![image](src/pi.jpg)
-  * **calculator.py** This is the runner file. Responsible for connecting the hardware and making calculations. Displays welcome messages and puts `runCalculator()` into a loop ![image](src/screenshot4.PNG)
-    * **def runCalculator(lastPressed=[])** This function Runs the calculator. Writes buttons icons to the screen. Takes a pre input of the last pressed, this prevents the wake button press from inputting a input into the stack. A full cycle of the **lastPressed** button not being pressed is required to be able to operate the button. Retrieves the inputs from `keyboardclass.ispressed()`, if buttons pressed is an operation for example ***'='*** is will then compute the sum entered. Other wise it will add the input to the stack and display the stack string on the screen. ![image](src/screenshot5.PNG)
+* ***The raspberry pi zero w*** This device is responsible for communicating to the other components. It also is responsible for the processing of *Task 1:* <br />![image](src/pi.jpg)
+  * **calculator.py** This is the runner file. Responsible for connecting the hardware and making calculations. Displays welcome messages and puts `runCalculator()` into a loop <br />![image](src/screenshot4.PNG)
+    * **def runCalculator(lastPressed=[])** This function Runs the calculator. Writes buttons icons to the screen. Takes a pre input of the last pressed, this prevents the wake button press from inputting a input into the stack. A full cycle of the **lastPressed** button not being pressed is required to be able to operate the button. Retrieves the inputs from `keyboardclass.ispressed()`, if buttons pressed is an operation for example ***'='*** is will then compute the sum entered. Other wise it will add the input to the stack and display the stack string on the screen. <br />![image](src/screenshot5.PNG)
 * ***The Keyboard*** The keyboard is a 8 button switch matrix. Its wired to the raspberry pi via GPIO pins *(Please see wiring diagram for further details)*. A switch matrix works by ending power to one column at a time and then detecting if a row is active. Each column and row is cycled through multiple times per second. The main benefit for a switch matrix board is the reduced number of GPIO pins required.
   * **keyboardClass.py** A class containing a few methods to the operation of the keyboard. Includes setup and outputs.
-    * **__init__()** Setup between the keyboard and the raspberry pi. Enables the connected GPIO pins *(Please see wiring diagram for further details)* ![image](src/screenshot6.PNG)
-    * **def isPressed(row, col)** Takes a row and column and returns if that button is pressed. Used mainly for debugging features and additional functionality. ![image](src/screenshot7.PNG)
-    * **pressed()** Takes no arguments. Returns an array of string of all buttons currently pressed. Detects what rows and columns are being pressed and calls `keyConverter()` to covert row and column into a string of button. I chose this unique way of processing button presses so that multiple button presses can be detected for additional features. ![image](src/screenshot8.PNG)
-    * **keyConverter(row,col)** Coverts the given row and column into a string of the corresponding button button. ![image](src/screenshot9.PNG)
+    * **__init__()** Setup between the keyboard and the raspberry pi. Enables the connected GPIO pins *(Please see wiring diagram for further details)* <br />![image](src/screenshot6.PNG)
+    * **def isPressed(row, col)** Takes a row and column and returns if that button is pressed. Used mainly for debugging features and additional functionality. <br />![image](src/screenshot7.PNG)
+    * **pressed()** Takes no arguments. Returns an array of string of all buttons currently pressed. Detects what rows and columns are being pressed and calls `keyConverter()` to covert row and column into a string of button. I chose this unique way of processing button presses so that multiple button presses can be detected for additional features. <br />![image](src/screenshot8.PNG)
+    * **keyConverter(row,col)** Coverts the given row and column into a string of the corresponding button button. <br />![image](src/screenshot9.PNG)
 * ***The OLED screen*** The OLED screen is a small 129 by 64 screen. It will be used to display information to the user. Including the inputs and menu.
   * **dd_oled.c** An API to communicate to the screen. The OLED screen communicated over I2C and is connected the the `sda,scl` pins on the raspberry pi *(Please see wiring diagram for further details)* 
-    * **int oledSetPixel(int x, int y, unsigned char ucColor)** Sets the defined pixel to the given colour. This function forms the base for other functions. ![image](src/screenshot10.PNG)
-    * **int oledFill(unsigned char ucData)** Sets the screen to a given color. Also useful to reset the screen after input alteration. ![image](src/screenshot11.PNG)
-    * **int oledWriteString(int x, int y, char \*szMsg, int iSize)**  This function displays a string of a given size in a location that is defined. Used for displaying the menu and inputs from the user. ![image](src/screenshot12.PNG)
-    * **int oledDrawLine(int x0, int y0, int x1, int y1, unsigned char ucPixel)** Draws a line across the screen at a given location and colour. Uses a naive line algorithm. Should be replaced in the future with a non naive line algorithm. ![image](src/screenshot13.PNG)
-    * **python API** pyOjbects are located at the bottom of the file. These object are used to connect the C file to the python extension. ![image](src/screenshot14.PNG)
-  * **setup.py** setup.py is a file used in the processes of building the c to python extension for the olid API. ![image](src/screenshot15.PNG)
+    * **int oledSetPixel(int x, int y, unsigned char ucColor)** Sets the defined pixel to the given colour. This function forms the base for other functions. <br />![image](src/screenshot10.PNG)
+    * **int oledFill(unsigned char ucData)** Sets the screen to a given color. Also useful to reset the screen after input alteration. <br />![image](src/screenshot11.PNG)
+    * **int oledWriteString(int x, int y, char \*szMsg, int iSize)**  This function displays a string of a given size in a location that is defined. Used for displaying the menu and inputs from the user. <br />![image](src/screenshot12.PNG)
+    * **int oledDrawLine(int x0, int y0, int x1, int y1, unsigned char ucPixel)** Draws a line across the screen at a given location and colour. Uses a naive line algorithm. Should be replaced in the future with a non naive line algorithm. <br />![image](src/screenshot13.PNG)
+    * **python API** pyOjbects are located at the bottom of the file. These object are used to connect the C file to the python extension. <br />![image](src/screenshot14.PNG)
+  * **setup.py** setup.py is a file used in the processes of building the c to python extension for the olid API. <br />![image](src/screenshot15.PNG)
 * ***Additional features*** This sections discusses some of the additional features I have added to the calculator.
-  * **Buttons** Multiple buttons make up extra functions of the calculator. ![image](src/buttonBoard.jpg)
-    * **Brackets** There are two buttons near the screen. These buttons are soldered onto a perf board along with the led. These buttons are designed to be used along with a icon on the screen to signify the function of the buttons. Currently the buttons are used to input brackets into the calculator. ![image](src/brackets.jpg)
-    * **On-Off** Located on the side of the calculator lies a push button with a On-Off icon. Pressing this button toggles a toggle switch connected between the negative leg of the batery and the raspberry pi. ![image](src/onoff.jpg)
-  * **LED** As the rapsberry pi is located within the case, I have added a LED status light that indicates that the device is powered and working. ![image](src/brackets.jpg)
-  * **Battery** The battery is a small LIPO Cell connected to the usb-c charging port. It charges relatively slow but due to the low power consumption of the raspberry pi this is not an issue. ![image](src/battery.jpg)
-  * **USB-C** The adafruit usb-c board is responsible for charging the battery. It charges the battery at 100ma. ![image](src/usbc.jpg)
-  * **Case** I designed the case to house all the components. I used fusion 360 and my 3d printer. Everything is securely mounted with cap hex bolts and nuts that are recessed into the case. ![image](src/screenshot16.PNG) ![image](src/screenshot17.PNG) ![image](src/printer.jpg) ![image](src/keypad.jpg)
+  * **Buttons** Multiple buttons make up extra functions of the calculator. <br />![image](src/buttonBoard.jpg)
+    * **Brackets** There are two buttons near the screen. These buttons are soldered onto a perf board along with the led. These buttons are designed to be used along with a icon on the screen to signify the function of the buttons. Currently the buttons are used to input brackets into the calculator. <br />![image](src/brackets.jpg)
+    * **On-Off** Located on the side of the calculator lies a push button with a On-Off icon. Pressing this button toggles a toggle switch connected between the negative leg of the batery and the raspberry pi. <br />![image](src/onoff.jpg)
+  * **LED** As the rapsberry pi is located within the case, I have added a LED status light that indicates that the device is powered and working. <br />![image](src/brackets.jpg)
+  * **Battery** The battery is a small LIPO Cell connected to the usb-c charging port. It charges relatively slow but due to the low power consumption of the raspberry pi this is not an issue. <br />![image](src/battery.jpg)
+  * **USB-C** The adafruit usb-c board is responsible for charging the battery. It charges the battery at 100ma. <br />![image](src/usbc.jpg)
+  * **Case** I designed the case to house all the components. I used fusion 360 and my 3d printer. Everything is securely mounted with cap hex bolts and nuts that are recessed into the case. <br />![image](src/screenshot16.PNG) ![image](src/screenshot17.PNG) ![image](src/printer.jpg) ![image](src/keypad.jpg)
 ___
 ### Task 3: UML Documentation.
 * This task involves building UML diagrams for the calculator.
-* ***Wiring Diagram*** This diagram demonstrates how the calculator is wired up. ![image](src/Wiring-Diagram.PNG)
-* ***UML Class Diagram***  A class diagram for the classes involved with the calculator. ![image](src/UML.PNG)
+* ***Wiring Diagram*** This diagram demonstrates how the calculator is wired up. <br />![image](src/Wiring-Diagram.PNG)
+* ***UML Class Diagram***  A class diagram for the classes involved with the calculator. <br />![image](src/UML.PNG)
 ___
 ## Demos
 * Completed demo in class