adding comments and cleaning