add more comments. clear warnings.