Complete Refactoring.