* Refactor.
* More comments.
* More comments.
* Better comment.