Broad refactoring.