Updated with finished Lab 3

Code got a 100 so it should be fine. I also added some of the tests I
made from Lab 2 which may come in handy later.