Continuing major refactoring.