Adds work done for exercise 3 and 4
Merge with master