Added alot of comments,