Starting refactor.