General Refactoring.