Wanted to get more done but I was busy this week. This is a bit messy
and I haven't got around to doing the comments yet but it gives us
something to work with