COmpleted Refactoring