Start major refactor.