New big refactoring.