add more comments and polish