About to do major refactoring.