Further refactor.