ALOT OF CHANGES ready for assignment 2 :)