Heavy_refactoring