Refactoring & Testing