Further refactor.
Refactor.