Added more comments. Not done yet