refactor and comments.