* Refactor.
* Updated TODO.