add more comments and clean all the junk