Final Refactoring