up to 7 Refactoring