Added most comments some remaining and fixing the uml for the assignment